185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#!/usr/bin/perl 2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# ******************************************************************** 3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# * COPYRIGHT: 485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho# * Copyright (c) 2003-2008, International Business Machines Corporation and 5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# * others. All Rights Reserved. 6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# ******************************************************************** 7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#use strict; 1085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Horequire "../perldriver/Common.pl"; 12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruuse lib '../perldriver'; 14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruuse PerfFramework; 16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $options = { 1885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho "title"=>"Unicode String performance: ICU ".$ICULatestVersion." vs. STDLib", 1985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho "headers"=>"StdLib ICU".$ICULatestVersion, 20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "operationIs"=>"Unicode String", 21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "timePerOperationIs"=>"Time per Unicode String", 22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "passes"=>"5", 23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "time"=>"2", 24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru #"outputType"=>"HTML", 2585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho "dataDir"=>$CollationDataPath, 2685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho "outputDir"=>"../results" 27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru }; 28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# programs 31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# tests will be done for all the programs. Results will be stored and connected 3285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Homy $p; 3385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoif ($OnWindows) { 3485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho $p = $ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -l -u"; 3585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} else { 3685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho $p = $ICUPathLatest."/ustrperf/stringperf -l -u"; 3785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $tests = { 40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"Object Construction(empty string)", ["$p TestStdLibCtor" , "$p TestCtor" ], 41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"Object Construction(single char)", ["$p TestStdLibCtor1" , "$p TestCtor1" ], 42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"Object Construction(another string)", ["$p TestStdLibCtor2" , "$p TestCtor2" ], 43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"Object Construction(string literal)", ["$p TestStdLibCtor3" , "$p TestCtor3" ], 44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"String Assignment(helper)", ["$p TestStdLibAssign" , "$p TestAssign" ], 45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"String Assignment(string literal)", ["$p TestStdLibAssign1" , "$p TestAssign1" ], 46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"String Assignment(another string)", ["$p TestStdLibAssign2" , "$p TestAssign2" ], 47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"Get String or Character", ["$p TestStdLibGetch" , "$p TestGetch" ], 48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"Concatenation", ["$p TestStdLibCatenate" , "$p TestCatenate" ], 49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"String Scanning(char)", ["$p TestStdLibScan" , "$p TestScan" ], 50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"String Scanning(string)", ["$p TestStdLibScan1" , "$p TestScan1" ], 51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"String Scanning(char set)", ["$p TestStdLibScan2" , "$p TestScan2" ], 52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 53ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 54ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $dataFiles = { 55ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "", 56ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru [ 57ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_Asian.txt", 58ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_Chinese.txt", 59ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_Simplified_Chinese.txt", 60ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_Japanese_h.txt", 61ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_Japanese_k.txt", 62ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_Korean.txt", 63ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_Latin.txt", 64ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_SerbianSH.txt", 65ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_SerbianSR.txt", 66ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "TestNames_Thai.txt", 67ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "Testnames_Russian.txt", 68ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "th18057.txt", 69ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ] 70ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru }; 71ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 72ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerurunTests($options, $tests, $dataFiles); 73ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 74ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# The whole command line would be something like: 75ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# stringperf.exe -p 5 -t 2 -f c:/src/data/perf/TestNames_Asian.txt -l -u TestStdLibCatenate