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