| #!/usr/bin/perl |
| # ******************************************************************** |
| # * COPYRIGHT: |
| # * Copyright (c) 2002-2007, International Business Machines |
| # * Corporation and others. All Rights Reserved. |
| # ******************************************************************** |
| |
| use strict; |
| |
| #Assume we are running outside of the ICU source |
| use lib './ICU-3.0/ICU/source/test/perf/perldriver'; |
| |
| use PerfFramework; |
| |
| my $options = { |
| "title"=>"Unicode String performance regression (ICU 2.8 and 3.0)", |
| "headers"=>"ICU28 ICU30", |
| "operationIs"=>"Unicode String", |
| "passes"=>"10", |
| "time"=>"5", |
| #"outputType"=>"HTML", |
| "dataDir"=>"c:/src/perf/data", |
| "outputDir"=>"results_ICU4C" |
| }; |
| |
| # programs |
| |
| my $p1 = "icu-2.8/icu/bin/stringperf28.exe -b -u"; |
| my $p2 = "icu-3.0/icu/bin/stringperf30.exe -b -u"; |
| |
| my $dataFiles = { |
| "", |
| [ |
| "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", |
| # "th18057.txt", |
| # "thesis.txt", |
| # "vfear11a.txt", |
| ] |
| }; |
| |
| |
| my $tests = { |
| "Object Construction(empty string)", ["$p1 TestCtor" , "$p2 TestCtor" ], |
| "Object Construction(single char)", ["$p1 TestCtor1" , "$p2 TestCtor1" ], |
| "Object Construction(another string)", ["$p1 TestCtor2" , "$p2 TestCtor2" ], |
| "Object Construction(string literal)", ["$p1 TestCtor3" , "$p2 TestCtor3" ], |
| "String Assignment(helper)", ["$p1 TestAssign" , "$p2 TestAssign" ], |
| "String Assignment(string literal)", ["$p1 TestAssign1" , "$p2 TestAssign1" ], |
| "String Assignment(another string)", ["$p1 TestAssign2" , "$p2 TestAssign2" ], |
| "Get String or Character", ["$p1 TestGetch" , "$p2 TestGetch" ], |
| "Concatenation", ["$p1 TestCatenate" , "$p2 TestCatenate" ], |
| "String Scanning(char)", ["$p1 TestScan" , "$p2 TestScan" ], |
| "String Scanning(string)", ["$p1 TestScan1" , "$p2 TestScan1" ], |
| "String Scanning(char set)", ["$p1 TestScan2" , "$p2 TestScan2" ], |
| }; |
| |
| |
| runTests($options, $tests, $dataFiles); |
| |
| |