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