]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/perf/ustrperf/StringPerf.pl
ICU-511.35.tar.gz
[apple/icu.git] / icuSources / test / perf / ustrperf / StringPerf.pl
CommitLineData
46f4442e 1#!/usr/bin/perl
374ca955
A
2# ********************************************************************
3# * COPYRIGHT:
46f4442e 4# * Copyright (c) 2003-2008, International Business Machines Corporation and
374ca955
A
5# * others. All Rights Reserved.
6# ********************************************************************
7
8
46f4442e
A
9#use strict;
10
11require "../perldriver/Common.pl";
374ca955
A
12
13use lib '../perldriver';
14
15use PerfFramework;
16
17my $options = {
46f4442e
A
18 "title"=>"Unicode String performance: ICU ".$ICULatestVersion." vs. STDLib",
19 "headers"=>"StdLib ICU".$ICULatestVersion,
374ca955
A
20 "operationIs"=>"Unicode String",
21 "timePerOperationIs"=>"Time per Unicode String",
22 "passes"=>"5",
23 "time"=>"2",
24 #"outputType"=>"HTML",
46f4442e
A
25 "dataDir"=>$CollationDataPath,
26 "outputDir"=>"../results"
374ca955
A
27 };
28
29
30# programs
31# tests will be done for all the programs. Results will be stored and connected
46f4442e
A
32my $p;
33if ($OnWindows) {
729e4ab9 34 $p = $ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -l -u";
46f4442e
A
35} else {
36 $p = $ICUPathLatest."/ustrperf/stringperf -l -u";
37}
374ca955
A
38
39my $tests = {
40"Object Construction(empty string)", ["$p TestStdLibCtor" , "$p TestCtor" ],
41"Object Construction(single char)", ["$p TestStdLibCtor1" , "$p TestCtor1" ],
42"Object Construction(another string)", ["$p TestStdLibCtor2" , "$p TestCtor2" ],
43"Object Construction(string literal)", ["$p TestStdLibCtor3" , "$p TestCtor3" ],
44"String Assignment(helper)", ["$p TestStdLibAssign" , "$p TestAssign" ],
45"String Assignment(string literal)", ["$p TestStdLibAssign1" , "$p TestAssign1" ],
46"String Assignment(another string)", ["$p TestStdLibAssign2" , "$p TestAssign2" ],
47"Get String or Character", ["$p TestStdLibGetch" , "$p TestGetch" ],
48"Concatenation", ["$p TestStdLibCatenate" , "$p TestCatenate" ],
49"String Scanning(char)", ["$p TestStdLibScan" , "$p TestScan" ],
50"String Scanning(string)", ["$p TestStdLibScan1" , "$p TestScan1" ],
51"String Scanning(char set)", ["$p TestStdLibScan2" , "$p TestScan2" ],
52};
53
54my $dataFiles = {
55 "",
56 [
57 "TestNames_Asian.txt",
58 "TestNames_Chinese.txt",
59 "TestNames_Simplified_Chinese.txt",
60 "TestNames_Japanese_h.txt",
61 "TestNames_Japanese_k.txt",
62 "TestNames_Korean.txt",
63 "TestNames_Latin.txt",
64 "TestNames_SerbianSH.txt",
65 "TestNames_SerbianSR.txt",
66 "TestNames_Thai.txt",
67 "Testnames_Russian.txt",
68 "th18057.txt",
69 ]
70 };
71
72runTests($options, $tests, $dataFiles);
73
74# The whole command line would be something like:
75# stringperf.exe -p 5 -t 2 -f c:/src/data/perf/TestNames_Asian.txt -l -u TestStdLibCatenate