scuffed-code/icu4j/perf-tests/rbbiperf_r.pl
2016-06-22 22:12:16 +00:00

91 lines
3.0 KiB
Perl
Executable File

#!/usr/bin/perl
# ********************************************************************
# * COPYRIGHT:
# * © 2016 and later: Unicode, Inc. and others.
# * License & terms of use: http://www.unicode.org/copyright.html#License
# * Copyright (c) 2002-2007, International Business Machines
# * Corporation and others. All Rights Reserved.
# ********************************************************************
use strict;
use lib 'svn-icu4j/src/com/ibm/icu/dev/test/perf/perldriver';
use PerfFramework4j;
my $options = {
"title"=>"Rule Based BreakIterator performance regression (ICU4J 3.6 and 3.8)",
"headers"=>"ICU4J36 ICU4J38",
"operationIs"=>"code point",
"eventIs"=>"break",
"passes"=>"10",
"time"=>"5",
"outputType"=>"HTML",
"dataDir"=>"svn-icu4j/src/com/ibm/icu/dev/test/perf/data/collation",
"outputDir"=>"svn-icu4j/results_ICU4J"
};
# programs
# Test class
my $TESTCLASS = "com.ibm.icu.dev.test.perf.RBBIPerf";
# tests will be done for all the programs. Results will be stored and connected
my $m1 = "char";
my $m2 = "word";
my $m3 = "line";
my $m4 = "jdkline";
my $m;
if(@_ >= 0) {
$m = "-- -m ".shift;
} else {
$m = $m1;
}
my $jvm1 = "java -classpath svn-icu4j_3-6/classes $TESTCLASS";
my $jvm2 = "java -classpath svn-icu4j/classes $TESTCLASS";
my $dataFiles = {
"en", [
#"thesis.txt",
#"2drvb10.txt",
#"ulyss10.txt",
#"nvsbl10.txt",
#"vfear11a.txt",
"TestNames_Asian.txt",
"TestNames_Chinese.txt",
"TestNames_Japanese.txt",
"TestNames_Japanese_h.txt",
"TestNames_Japanese_k.txt",
"TestNames_Korean.txt",
"TestNames_Latin.txt",
"TestNames_SerbianSH.txt",
"TestNames_SerbianSR.txt",
"TestNames_Thai.txt",
"Testnames_Russian.txt",
],
#"th", ["TestNames_Thai.txt", "th18057.txt"]
};
my $tests = {
"TestNextChar", ["$jvm1 testRBBINext $m1", "$jvm2 testRBBINext $m1"],
"TestNextWord", ["$jvm1 testRBBINext $m2", "$jvm2 testRBBINext $m2"],
"TestNextLine", ["$jvm1 testRBBINext $m3", "$jvm2 testRBBINext $m3"],
"TestNextJDKLine", ["$jvm1 testRBBINext $m4", "$jvm2 testRBBINext $m4"],
##
"TestPreviousChar", ["$jvm1 testRBBIPrevious $m1", "$jvm2 testRBBIPrevious $m1"],
"TestPreviousWord", ["$jvm1 testRBBIPrevious $m2", "$jvm2 testRBBIPrevious $m2"],
"TestPreviousLine", ["$jvm1 testRBBIPrevious $m3", "$jvm2 testRBBIPrevious $m3"],
#"TestPreviousSentence", ["$jvm1 testRBBIPrevious $m4", "$jvm2 testRBBIPrevious $m4"],
##
"TestIsBoundaryChar", ["$jvm1 testRBBIIsBoundary $m1", "$jvm2 testRBBIIsBoundary $m1"],
"TestIsBoundaryWord", ["$jvm1 testRBBIIsBoundary $m2", "$jvm2 testRBBIIsBoundary $m2"],
"TestIsBoundaryLine", ["$jvm1 testRBBIIsBoundary $m3", "$jvm2 testRBBIIsBoundary $m3"],
#"TestIsBoundarySentence", ["$jvm1 testRBBIIsBoundary $m4", "$jvm2 testRBBIIsBoundary $m4"],
};
runTests($options, $tests, $dataFiles);