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