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