| OLD | NEW |
| (Empty) |
| 1 #!/usr/bin/perl | |
| 2 # ******************************************************************** | |
| 3 # COPYRIGHT: | |
| 4 # Copyright (c) 2013-2014, International Business Machines Corporation and | |
| 5 # others. All Rights Reserved. | |
| 6 # ******************************************************************** | |
| 7 | |
| 8 # Variables need to be set in ../perldriver/Common.pl for where ICU is on your m
achine. | |
| 9 # Copy Common.pl.template to Common.pl and modify it. | |
| 10 # | |
| 11 # Sample Common.pl "Settings by user" for a Linux out-of-source build: | |
| 12 # | |
| 13 # $ICULatestVersion = "collv2"; | |
| 14 # $ICUPreviousVersion = "52"; | |
| 15 # | |
| 16 # $PerformanceDataPath = "/home/mscherer/svn.icudata/trunk/src/test/perf"; | |
| 17 # | |
| 18 # $ICULatest = "/home/mscherer/svn.icu/collv2/bld"; | |
| 19 # $ICUPrevious = "/home/mscherer/svn.icu/trunk/bld"; | |
| 20 # | |
| 21 # The first time around, you also need to | |
| 22 # source/test/perf/collperf2$ mkdir ../results | |
| 23 # Then invoke | |
| 24 # source/test/perf/collperf2$ ./CollPerf2_r.pl | |
| 25 # | |
| 26 # Sample debug invocation: | |
| 27 # ~/svn.icu/trunk/dbg/test/perf/collperf2$ LD_LIBRARY_PATH=../../../lib:../../
../tools/ctestfw ./collperf2 -t 5 -p 1 -L "de" -f /home/mscherer/svn.icudata/tr
unk/src/test/perf/collation/TestNames_Latin.txt TestStringPieceSort | |
| 28 | |
| 29 #use strict; | |
| 30 | |
| 31 use lib '../perldriver'; | |
| 32 | |
| 33 require "../perldriver/Common.pl"; | |
| 34 | |
| 35 use PerfFramework; | |
| 36 | |
| 37 my $options = { | |
| 38 "title"=>"Collation Performance Regression: ICU (".$ICUPreviousVersion." and
".$ICULatestVersion.")", | |
| 39 "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, | |
| 40 "operationIs"=>"Collator", | |
| 41 "passes"=>"1", | |
| 42 "time"=>"2", | |
| 43 #"outputType"=>"HTML", | |
| 44 "dataDir"=>$CollationDataPath, | |
| 45 "outputDir"=>"../results" | |
| 46 }; | |
| 47 | |
| 48 # programs | |
| 49 # tests will be done for all the programs. Results will be stored and connected | |
| 50 my $p1, $p2; | |
| 51 | |
| 52 if ($OnWindows) { | |
| 53 $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/collperf2/$WindowsPla
tform/Release/collperf2.exe"; | |
| 54 $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/collperf2/$WindowsPlatfor
m/Release/collperf2.exe"; | |
| 55 } else { | |
| 56 $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."/lib:".$ICUPrevious."/tools/ctestfw "
.$ICUPrevious."/test/perf/collperf2/collperf2"; | |
| 57 $p2 = "LD_LIBRARY_PATH=".$ICULatest."/lib:".$ICULatest."/tools/ctestfw ".$IC
ULatest."/test/perf/collperf2/collperf2"; | |
| 58 } | |
| 59 | |
| 60 my $tests = { | |
| 61 "ucol_strcoll/len", ["$p1,TestStrcoll", "$p2,TestStrcoll"], | |
| 62 "ucol_strcoll/null", ["$p1,TestStrcollNull", "$p2,TestStrcollNull
"], | |
| 63 "ucol_strcoll/len/similar", ["$p1,TestStrcollSimilar", "$p2,TestStrcollS
imilar"], | |
| 64 | |
| 65 "ucol_strcollUTF8/len", ["$p1,TestStrcollUTF8", "$p2,TestStrcollUTF8
"], | |
| 66 "ucol_strcollUTF8/null", ["$p1,TestStrcollUTF8Null", "$p2,TestStrcoll
UTF8Null"], | |
| 67 "ucol_strcollUTF8/len/similar", ["$p1,TestStrcollUTF8Similar", "$p2,TestStrc
ollUTF8Similar"], | |
| 68 | |
| 69 "ucol_getSortKey/len", ["$p1,TestGetSortKey", "$p2,TestGetSortKey"]
, | |
| 70 "ucol_getSortKey/null", ["$p1,TestGetSortKeyNull", "$p2,TestGetSortK
eyNull"], | |
| 71 | |
| 72 "ucol_nextSortKeyPart/4_all", ["$p1,TestNextSortKeyPart_4All", "$p2,TestNe
xtSortKeyPart_4All"], | |
| 73 "ucol_nextSortKeyPart/4x4", ["$p1,TestNextSortKeyPart_4x4", "$p2,TestNex
tSortKeyPart_4x4"], | |
| 74 "ucol_nextSortKeyPart/4x8", ["$p1,TestNextSortKeyPart_4x8", "$p2,TestNex
tSortKeyPart_4x8"], | |
| 75 "ucol_nextSortKeyPart/32_all", ["$p1,TestNextSortKeyPart_32All", "$p2,TestN
extSortKeyPart_32All"], | |
| 76 "ucol_nextSortKeyPart/32x2", ["$p1,TestNextSortKeyPart_32x2", "$p2,TestNe
xtSortKeyPart_32x2"], | |
| 77 | |
| 78 "ucol_nextSortKeyPart/UTF8/4_all", ["$p1,TestNextSortKeyPartUTF8_4All", "$p
2,TestNextSortKeyPartUTF8_4All"], | |
| 79 "ucol_nextSortKeyPart/UTF8/4x4", ["$p1,TestNextSortKeyPartUTF8_4x4", "$p2
,TestNextSortKeyPartUTF8_4x4"], | |
| 80 "ucol_nextSortKeyPart/UTF8/4x8", ["$p1,TestNextSortKeyPartUTF8_4x8", "$p2
,TestNextSortKeyPartUTF8_4x8"], | |
| 81 "ucol_nextSortKeyPart/UTF8/32_all", ["$p1,TestNextSortKeyPartUTF8_32All", "$
p2,TestNextSortKeyPartUTF8_32All"], | |
| 82 "ucol_nextSortKeyPart/UTF8/32x2", ["$p1,TestNextSortKeyPartUTF8_32x2", "$p
2,TestNextSortKeyPartUTF8_32x2"], | |
| 83 | |
| 84 "Collator::compare/len", ["$p1,TestCppCompare", "$p2,TestCppC
ompare"], | |
| 85 "Collator::compare/null", ["$p1,TestCppCompareNull", "$p2,Test
CppCompareNull"], | |
| 86 "Collator::compare/len/similar", ["$p1,TestCppCompareSimilar", "$p2,T
estCppCompareSimilar"], | |
| 87 | |
| 88 "Collator::compareUTF8/len", ["$p1,TestCppCompareUTF8", "$p2,Test
CppCompareUTF8"], | |
| 89 "Collator::compareUTF8/null", ["$p1,TestCppCompareUTF8Null", "$p2,
TestCppCompareUTF8Null"], | |
| 90 "Collator::compareUTF8/len/similar", ["$p1,TestCppCompareUTF8Similar", "$
p2,TestCppCompareUTF8Similar"], | |
| 91 | |
| 92 "Collator::getCollationKey/len", ["$p1,TestCppGetCollationKey", "$p2,
TestCppGetCollationKey"], | |
| 93 "Collator::getCollationKey/null", ["$p1,TestCppGetCollationKeyNull", "
$p2,TestCppGetCollationKeyNull"], | |
| 94 | |
| 95 "sort UnicodeString*[]: compare()", ["$p1,TestUniStrSort", "$p2,Test
UniStrSort"], | |
| 96 "sort StringPiece[]: compareUTF8()", ["$p1,TestStringPieceSortCpp", "
$p2,TestStringPieceSortCpp"], | |
| 97 "sort StringPiece[]: ucol_strcollUTF8()", ["$p1,TestStringPieceSortC", "$p
2,TestStringPieceSortC"], | |
| 98 | |
| 99 "binary search UnicodeString*[]: compare()", ["$p1,TestUniStrBinSearc
h", "$p2,TestUniStrBinSearch"], | |
| 100 "binary search StringPiece[]: compareUTF8()", ["$p1,TestStringPieceBin
SearchCpp", "$p2,TestStringPieceBinSearchCpp"], | |
| 101 "binary search StringPiece[]: ucol_strcollUTF8()", ["$p1,TestStringPieceBin
SearchC", "$p2,TestStringPieceBinSearchC"], | |
| 102 }; | |
| 103 | |
| 104 my $dataFiles = { | |
| 105 "en_US", | |
| 106 [ | |
| 107 "TestNames_Latin.txt" | |
| 108 ], | |
| 109 | |
| 110 "de-u-co-phonebk-ks-level2", | |
| 111 [ | |
| 112 "TestRandomWordsUDHR_de.txt" | |
| 113 ], | |
| 114 | |
| 115 "fr-u-ks-level1-kc", | |
| 116 [ | |
| 117 "TestRandomWordsUDHR_fr.txt" | |
| 118 ], | |
| 119 | |
| 120 "es", | |
| 121 [ | |
| 122 "TestRandomWordsUDHR_es.txt" | |
| 123 ], | |
| 124 | |
| 125 "pl", | |
| 126 [ | |
| 127 "TestRandomWordsUDHR_pl.txt" | |
| 128 ], | |
| 129 | |
| 130 "tr", | |
| 131 [ | |
| 132 "TestRandomWordsUDHR_tr.txt" | |
| 133 ], | |
| 134 | |
| 135 "el", | |
| 136 [ | |
| 137 "TestRandomWordsUDHR_el.txt" | |
| 138 ], | |
| 139 | |
| 140 "ru", | |
| 141 [ | |
| 142 "TestNames_Russian.txt" | |
| 143 ], | |
| 144 | |
| 145 "ru-u-ks-level4-ka-shifted", | |
| 146 [ | |
| 147 "TestRandomWordsUDHR_ru.txt" | |
| 148 ], | |
| 149 | |
| 150 "ja", | |
| 151 [ | |
| 152 "TestNames_Japanese.txt", | |
| 153 "TestNames_Japanese_h.txt", | |
| 154 "TestNames_Japanese_k.txt" | |
| 155 ], | |
| 156 | |
| 157 "ja-u-ks-identic", | |
| 158 [ | |
| 159 "TestNames_Latin.txt", | |
| 160 "TestNames_Japanese.txt" | |
| 161 ], | |
| 162 | |
| 163 "ko", | |
| 164 [ | |
| 165 "TestNames_Korean.txt" | |
| 166 ], | |
| 167 | |
| 168 "zh_Hans", | |
| 169 [ | |
| 170 "TestNames_Simplified_Chinese.txt" | |
| 171 ], | |
| 172 | |
| 173 "zh_Hans-u-co-pinyin", | |
| 174 [ | |
| 175 "TestNames_Latin.txt", | |
| 176 "TestNames_Simplified_Chinese.txt" | |
| 177 ], | |
| 178 | |
| 179 "zh_Hant", | |
| 180 [ | |
| 181 "TestNames_Chinese.txt", | |
| 182 ], | |
| 183 | |
| 184 "th-u-kk-ka-shifted", | |
| 185 [ | |
| 186 "TestNames_Latin.txt", | |
| 187 "TestNames_Thai.txt", | |
| 188 "TestRandomWordsUDHR_th.txt" | |
| 189 ], | |
| 190 | |
| 191 "ar", | |
| 192 [ | |
| 193 "TestRandomWordsUDHR_ar.txt" | |
| 194 ], | |
| 195 | |
| 196 "he", | |
| 197 [ | |
| 198 "TestRandomWordsUDHR_he.txt" | |
| 199 ] | |
| 200 }; | |
| 201 | |
| 202 runTests($options, $tests, $dataFiles); | |
| OLD | NEW |