16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#!/usr/bin/perl 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# ******************************************************************** 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# * COPYRIGHT: 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# * Copyright (c) 2003-2013, International Business Machines Corporation and 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# * others. All Rights Reserved. 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# ******************************************************************** 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#use strict; 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgrequire "../perldriver/Common.pl"; 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orguse lib '../perldriver'; 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orguse PerfFramework; 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $options = { 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "title"=>"Unicode String performance: ICU ".$ICULatestVersion." vs. STDLib", 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "headers"=>"StdLib ICU".$ICULatestVersion, 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "operationIs"=>"Unicode String", 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "timePerOperationIs"=>"Time per Unicode String", 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "passes"=>"5", 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "time"=>"2", 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org #"outputType"=>"HTML", 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "dataDir"=>$CollationDataPath, 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "outputDir"=>"../results" 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# programs 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# tests will be done for all the programs. Results will be stored and connected 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $p; 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif ($OnWindows) { 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -l -u"; 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org} else { 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org $p = "LD_LIBRARY_PATH=".$ICULatest."/source/lib:".$ICULatest."/source/tools/ctestfw ".$ICUPathLatest."/ustrperf/stringperf -l -u"; 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org} 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $tests = { 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "Object Construction(empty string)", ["$p,TestStdLibCtor" , "$p,TestCtor" ], 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "Object Construction(single char)", ["$p,TestStdLibCtor1" , "$p,TestCtor1" ], 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "Object Construction(another string)", ["$p,TestStdLibCtor2" , "$p,TestCtor2" ], 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "Object Construction(string literal)", ["$p,TestStdLibCtor3" , "$p,TestCtor3" ], 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "String Assignment(helper)", ["$p,TestStdLibAssign" , "$p,TestAssign" ], 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "String Assignment(string literal)", ["$p,TestStdLibAssign1" , "$p,TestAssign1" ], 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "String Assignment(another string)", ["$p,TestStdLibAssign2" , "$p,TestAssign2" ], 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "Get String or Character", ["$p,TestStdLibGetch" , "$p,TestGetch" ], 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "Concatenation", ["$p,TestStdLibCatenate" , "$p,TestCatenate" ], 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "String Scanning(char)", ["$p,TestStdLibScan" , "$p,TestScan" ], 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "String Scanning(string)", ["$p,TestStdLibScan1" , "$p,TestScan1" ], 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "String Scanning(char set)", ["$p,TestStdLibScan2" , "$p,TestScan2" ], 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $dataFiles = { 556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "", 566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ 576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_Asian.txt", 586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_Chinese.txt", 596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_Simplified_Chinese.txt", 606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_Japanese_h.txt", 616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_Japanese_k.txt", 626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_Korean.txt", 636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_Latin.txt", 646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_SerbianSH.txt", 656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_SerbianSR.txt", 666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "TestNames_Thai.txt", 676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "Testnames_Russian.txt", 686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org "th18057.txt", 696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ] 706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgrunTests($options, $tests, $dataFiles); 736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# The whole command line would be something like: 756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# stringperf.exe -p 5 -t 2 -f c:/src/data/perf/TestNames_Asian.txt -l -u TestStdLibCatenate