xref: /aosp_15_r20/external/icu/icu4j/perf-tests/unicodesetperf_r.pl (revision 0e209d3975ff4a8c132096b14b0e9364a753506e)
1*0e209d39SAndroid Build Coastguard Worker#!/usr/bin/perl
2*0e209d39SAndroid Build Coastguard Worker#  ********************************************************************
3*0e209d39SAndroid Build Coastguard Worker#  * COPYRIGHT:
4*0e209d39SAndroid Build Coastguard Worker#  * © 2016 and later: Unicode, Inc. and others.
5*0e209d39SAndroid Build Coastguard Worker#  * License & terms of use: http://www.unicode.org/copyright.html
6*0e209d39SAndroid Build Coastguard Worker#  * Copyright (c) 2002-2007, International Business Machines
7*0e209d39SAndroid Build Coastguard Worker#  * Corporation and others. All Rights Reserved.
8*0e209d39SAndroid Build Coastguard Worker#  ********************************************************************
9*0e209d39SAndroid Build Coastguard Worker
10*0e209d39SAndroid Build Coastguard Workeruse strict;
11*0e209d39SAndroid Build Coastguard Worker
12*0e209d39SAndroid Build Coastguard Worker#Assume we are running outside of the ICU4J source
13*0e209d39SAndroid Build Coastguard Workeruse lib 'svn-icu4j/src/com/ibm/icu/dev/test/perf/perldriver';
14*0e209d39SAndroid Build Coastguard Worker
15*0e209d39SAndroid Build Coastguard Workeruse PerfFramework4j;
16*0e209d39SAndroid Build Coastguard Worker
17*0e209d39SAndroid Build Coastguard Worker#---------------------------------------------------------------------
18*0e209d39SAndroid Build Coastguard Worker# Test class
19*0e209d39SAndroid Build Coastguard Workermy $TESTCLASS = 'com.ibm.icu.dev.test.perf.UnicodeSetPerf';
20*0e209d39SAndroid Build Coastguard Worker
21*0e209d39SAndroid Build Coastguard Workermy $options = {
22*0e209d39SAndroid Build Coastguard Worker	       "title"=>"Unicode Set performance regression (ICU4J 3.6 and 3.8)",
23*0e209d39SAndroid Build Coastguard Worker	       "headers"=>"ICU4J36 ICU4J38",
24*0e209d39SAndroid Build Coastguard Worker	       "operationIs"=>"code point",
25*0e209d39SAndroid Build Coastguard Worker	       "timePerOperationIs"=>"Time per code point",
26*0e209d39SAndroid Build Coastguard Worker	       "passes"=>"10",
27*0e209d39SAndroid Build Coastguard Worker	       "time"=>"5",
28*0e209d39SAndroid Build Coastguard Worker	       "outputType"=>"HTML",
29*0e209d39SAndroid Build Coastguard Worker	       "dataDir"=>"svn-icu4j/src/com/ibm/icu/dev/test/perf/data/collation",
30*0e209d39SAndroid Build Coastguard Worker	       "outputDir"=>"svn-icu4j/results_ICU4J"
31*0e209d39SAndroid Build Coastguard Worker	      };
32*0e209d39SAndroid Build Coastguard Worker
33*0e209d39SAndroid Build Coastguard Worker# programs
34*0e209d39SAndroid Build Coastguard Worker
35*0e209d39SAndroid Build Coastguard Workermy $jvm1 = "java -classpath svn-icu4j_3-6/classes $TESTCLASS";
36*0e209d39SAndroid Build Coastguard Workermy $jvm2 = "java -classpath svn-icu4j/classes $TESTCLASS";
37*0e209d39SAndroid Build Coastguard Worker
38*0e209d39SAndroid Build Coastguard Workermy $dataFiles = "";
39*0e209d39SAndroid Build Coastguard Workermy $pat1 = '[:Lt:]';
40*0e209d39SAndroid Build Coastguard Workermy $pat2 = '[:Cn:]';
41*0e209d39SAndroid Build Coastguard Worker
42*0e209d39SAndroid Build Coastguard Workermy $tests = {
43*0e209d39SAndroid Build Coastguard Worker	     "UnicodeSetAdd ($pat1)",       ["$jvm1 UnicodeSetAdd $pat1"  ,       "$jvm2 UnicodeSetAdd $pat1" ],
44*0e209d39SAndroid Build Coastguard Worker	     "UnicodeSetAdd ($pat2)",       ["$jvm1 UnicodeSetAdd $pat2"  ,       "$jvm2 UnicodeSetAdd $pat2" ],
45*0e209d39SAndroid Build Coastguard Worker	     "UnicodeSetContains ($pat1)",  ["$jvm1 UnicodeSetContains $pat1"  ,  "$jvm2 UnicodeSetContains $pat1" ],
46*0e209d39SAndroid Build Coastguard Worker	     "UnicodeSetContains ($pat2)",  ["$jvm1 UnicodeSetContains $pat2"  ,  "$jvm2 UnicodeSetContains $pat2" ],
47*0e209d39SAndroid Build Coastguard Worker	     "UnicodeSetIterate ($pat1)",   ["$jvm1 UnicodeSetIterate $pat1"  ,   "$jvm2 UnicodeSetIterate $pat1" ],
48*0e209d39SAndroid Build Coastguard Worker	     "UnicodeSetIterate ($pat2)",   ["$jvm1 UnicodeSetIterate $pat2"  ,   "$jvm2 UnicodeSetIterate $pat2" ],
49*0e209d39SAndroid Build Coastguard Worker	     ##
50*0e209d39SAndroid Build Coastguard Worker	     "HashSetAdd ($pat1)",          ["$jvm1 HashSetAdd $pat1"  ,          "$jvm2 HashSetAdd $pat1" ],
51*0e209d39SAndroid Build Coastguard Worker	     "HashSetAdd ($pat2)",          ["$jvm1 HashSetAdd $pat2"  ,          "$jvm2 HashSetAdd $pat2" ],
52*0e209d39SAndroid Build Coastguard Worker	     "HashSetContains ($pat1)",     ["$jvm1 HashSetContains $pat1"  ,     "$jvm2 HashSetContains $pat1" ],
53*0e209d39SAndroid Build Coastguard Worker	     "HashSetContains ($pat2)",     ["$jvm1 HashSetContains $pat2"  ,     "$jvm2 HashSetContains $pat2" ],
54*0e209d39SAndroid Build Coastguard Worker	     "HashSetIterate ($pat1)",      ["$jvm1 HashSetIterate $pat1"  ,      "$jvm2 HashSetIterate $pat1" ],
55*0e209d39SAndroid Build Coastguard Worker	     "HashSetIterate ($pat2)",      ["$jvm1 HashSetIterate $pat2"  ,      "$jvm2 HashSetIterate $pat2" ]
56*0e209d39SAndroid Build Coastguard Worker	    };
57*0e209d39SAndroid Build Coastguard Worker
58*0e209d39SAndroid Build Coastguard Worker
59*0e209d39SAndroid Build Coastguard WorkerrunTests($options, $tests, $dataFiles);
60*0e209d39SAndroid Build Coastguard Worker
61*0e209d39SAndroid Build Coastguard Worker
62