xref: /aosp_15_r20/external/icu/icu4j/perf-tests/rbbiperf_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 Workeruse lib 'svn-icu4j/src/com/ibm/icu/dev/test/perf/perldriver';
13*0e209d39SAndroid Build Coastguard Worker
14*0e209d39SAndroid Build Coastguard Workeruse PerfFramework4j;
15*0e209d39SAndroid Build Coastguard Worker
16*0e209d39SAndroid Build Coastguard Workermy $options = {
17*0e209d39SAndroid Build Coastguard Worker	       "title"=>"Rule Based BreakIterator performance regression (ICU4J 3.6 and 3.8)",
18*0e209d39SAndroid Build Coastguard Worker	       "headers"=>"ICU4J36 ICU4J38",
19*0e209d39SAndroid Build Coastguard Worker	       "operationIs"=>"code point",
20*0e209d39SAndroid Build Coastguard Worker	       "eventIs"=>"break",
21*0e209d39SAndroid Build Coastguard Worker	       "passes"=>"10",
22*0e209d39SAndroid Build Coastguard Worker	       "time"=>"5",
23*0e209d39SAndroid Build Coastguard Worker	       "outputType"=>"HTML",
24*0e209d39SAndroid Build Coastguard Worker	       "dataDir"=>"svn-icu4j/src/com/ibm/icu/dev/test/perf/data/collation",
25*0e209d39SAndroid Build Coastguard Worker	       "outputDir"=>"svn-icu4j/results_ICU4J"
26*0e209d39SAndroid Build Coastguard Worker	      };
27*0e209d39SAndroid Build Coastguard Worker
28*0e209d39SAndroid Build Coastguard Worker# programs
29*0e209d39SAndroid Build Coastguard Worker# Test class
30*0e209d39SAndroid Build Coastguard Workermy $TESTCLASS = "com.ibm.icu.dev.test.perf.RBBIPerf";
31*0e209d39SAndroid Build Coastguard Worker# tests will be done for all the programs. Results will be stored and connected
32*0e209d39SAndroid Build Coastguard Workermy $m1 = "char";
33*0e209d39SAndroid Build Coastguard Workermy $m2 = "word";
34*0e209d39SAndroid Build Coastguard Workermy $m3 = "line";
35*0e209d39SAndroid Build Coastguard Workermy $m4 = "jdkline";
36*0e209d39SAndroid Build Coastguard Worker
37*0e209d39SAndroid Build Coastguard Workermy $m;
38*0e209d39SAndroid Build Coastguard Worker
39*0e209d39SAndroid Build Coastguard Workerif(@_ >= 0) {
40*0e209d39SAndroid Build Coastguard Worker  $m = "-- -m ".shift;
41*0e209d39SAndroid Build Coastguard Worker} else {
42*0e209d39SAndroid Build Coastguard Worker  $m = $m1;
43*0e209d39SAndroid Build Coastguard Worker}
44*0e209d39SAndroid Build Coastguard Worker
45*0e209d39SAndroid Build Coastguard Workermy $jvm1 = "java -classpath svn-icu4j_3-6/classes $TESTCLASS";
46*0e209d39SAndroid Build Coastguard Workermy $jvm2 = "java -classpath svn-icu4j/classes $TESTCLASS";
47*0e209d39SAndroid Build Coastguard Worker
48*0e209d39SAndroid Build Coastguard Workermy $dataFiles = {
49*0e209d39SAndroid Build Coastguard Worker"en", [
50*0e209d39SAndroid Build Coastguard Worker	   #"thesis.txt",
51*0e209d39SAndroid Build Coastguard Worker       #"2drvb10.txt",
52*0e209d39SAndroid Build Coastguard Worker       #"ulyss10.txt",
53*0e209d39SAndroid Build Coastguard Worker       #"nvsbl10.txt",
54*0e209d39SAndroid Build Coastguard Worker       #"vfear11a.txt",
55*0e209d39SAndroid Build Coastguard Worker       "TestNames_Asian.txt",
56*0e209d39SAndroid Build Coastguard Worker       "TestNames_Chinese.txt",
57*0e209d39SAndroid Build Coastguard Worker       "TestNames_Japanese.txt",
58*0e209d39SAndroid Build Coastguard Worker       "TestNames_Japanese_h.txt",
59*0e209d39SAndroid Build Coastguard Worker       "TestNames_Japanese_k.txt",
60*0e209d39SAndroid Build Coastguard Worker       "TestNames_Korean.txt",
61*0e209d39SAndroid Build Coastguard Worker       "TestNames_Latin.txt",
62*0e209d39SAndroid Build Coastguard Worker       "TestNames_SerbianSH.txt",
63*0e209d39SAndroid Build Coastguard Worker       "TestNames_SerbianSR.txt",
64*0e209d39SAndroid Build Coastguard Worker       "TestNames_Thai.txt",
65*0e209d39SAndroid Build Coastguard Worker       "Testnames_Russian.txt",
66*0e209d39SAndroid Build Coastguard Worker],
67*0e209d39SAndroid Build Coastguard Worker#"th", ["TestNames_Thai.txt", "th18057.txt"]
68*0e209d39SAndroid Build Coastguard Worker};
69*0e209d39SAndroid Build Coastguard Worker
70*0e209d39SAndroid Build Coastguard Worker
71*0e209d39SAndroid Build Coastguard Workermy $tests = {
72*0e209d39SAndroid Build Coastguard Worker"TestNextChar",      ["$jvm1 testRBBINext $m1", "$jvm2 testRBBINext $m1"],
73*0e209d39SAndroid Build Coastguard Worker"TestNextWord",      ["$jvm1 testRBBINext $m2", "$jvm2 testRBBINext $m2"],
74*0e209d39SAndroid Build Coastguard Worker"TestNextLine",      ["$jvm1 testRBBINext $m3", "$jvm2 testRBBINext $m3"],
75*0e209d39SAndroid Build Coastguard Worker"TestNextJDKLine",   ["$jvm1 testRBBINext $m4", "$jvm2 testRBBINext $m4"],
76*0e209d39SAndroid Build Coastguard Worker##
77*0e209d39SAndroid Build Coastguard Worker"TestPreviousChar",      ["$jvm1 testRBBIPrevious $m1", "$jvm2 testRBBIPrevious $m1"],
78*0e209d39SAndroid Build Coastguard Worker"TestPreviousWord",      ["$jvm1 testRBBIPrevious $m2", "$jvm2 testRBBIPrevious $m2"],
79*0e209d39SAndroid Build Coastguard Worker"TestPreviousLine",      ["$jvm1 testRBBIPrevious $m3", "$jvm2 testRBBIPrevious $m3"],
80*0e209d39SAndroid Build Coastguard Worker#"TestPreviousSentence",  ["$jvm1 testRBBIPrevious $m4", "$jvm2 testRBBIPrevious $m4"],
81*0e209d39SAndroid Build Coastguard Worker##
82*0e209d39SAndroid Build Coastguard Worker"TestIsBoundaryChar",      ["$jvm1 testRBBIIsBoundary $m1", "$jvm2 testRBBIIsBoundary $m1"],
83*0e209d39SAndroid Build Coastguard Worker"TestIsBoundaryWord",      ["$jvm1 testRBBIIsBoundary $m2", "$jvm2 testRBBIIsBoundary $m2"],
84*0e209d39SAndroid Build Coastguard Worker"TestIsBoundaryLine",      ["$jvm1 testRBBIIsBoundary $m3", "$jvm2 testRBBIIsBoundary $m3"],
85*0e209d39SAndroid Build Coastguard Worker#"TestIsBoundarySentence",  ["$jvm1 testRBBIIsBoundary $m4", "$jvm2 testRBBIIsBoundary $m4"],
86*0e209d39SAndroid Build Coastguard Worker};
87*0e209d39SAndroid Build Coastguard Worker
88*0e209d39SAndroid Build Coastguard WorkerrunTests($options, $tests, $dataFiles);
89*0e209d39SAndroid Build Coastguard Worker
90*0e209d39SAndroid Build Coastguard Worker
91