You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
3.2 KiB
80 lines
3.2 KiB
#!/usr/bin/perl
|
|
# ********************************************************************
|
|
# * Copyright (C) 2016 and later: Unicode, Inc. and others.
|
|
# *License & terms of use: http://www.unicode.org/copyright.html
|
|
# ********************************************************************
|
|
# ********************************************************************
|
|
# * COPYRIGHT:
|
|
# * Copyright (c) 2003-2013, International Business Machines Corporation and
|
|
# * others. All Rights Reserved.
|
|
# ********************************************************************
|
|
|
|
|
|
#use strict;
|
|
|
|
require "../perldriver/Common.pl";
|
|
|
|
use lib '../perldriver';
|
|
|
|
use PerfFramework;
|
|
|
|
my $options = {
|
|
"title"=>"Unicode String performance: ICU ".$ICULatestVersion." vs. STDLib",
|
|
"headers"=>"StdLib ICU".$ICULatestVersion,
|
|
"operationIs"=>"Unicode String",
|
|
"timePerOperationIs"=>"Time per Unicode String",
|
|
"passes"=>"5",
|
|
"time"=>"2",
|
|
#"outputType"=>"HTML",
|
|
"dataDir"=>$CollationDataPath,
|
|
"outputDir"=>"../results"
|
|
};
|
|
|
|
|
|
# programs
|
|
# tests will be done for all the programs. Results will be stored and connected
|
|
my $p;
|
|
if ($OnWindows) {
|
|
$p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -l -u";
|
|
} else {
|
|
$p = "LD_LIBRARY_PATH=".$ICULatest."/source/lib:".$ICULatest."/source/tools/ctestfw ".$ICUPathLatest."/ustrperf/stringperf -l -u";
|
|
}
|
|
|
|
my $tests = {
|
|
"Object Construction(empty string)", ["$p,TestStdLibCtor" , "$p,TestCtor" ],
|
|
"Object Construction(single char)", ["$p,TestStdLibCtor1" , "$p,TestCtor1" ],
|
|
"Object Construction(another string)", ["$p,TestStdLibCtor2" , "$p,TestCtor2" ],
|
|
"Object Construction(string literal)", ["$p,TestStdLibCtor3" , "$p,TestCtor3" ],
|
|
"String Assignment(helper)", ["$p,TestStdLibAssign" , "$p,TestAssign" ],
|
|
"String Assignment(string literal)", ["$p,TestStdLibAssign1" , "$p,TestAssign1" ],
|
|
"String Assignment(another string)", ["$p,TestStdLibAssign2" , "$p,TestAssign2" ],
|
|
"Get String or Character", ["$p,TestStdLibGetch" , "$p,TestGetch" ],
|
|
"Concatenation", ["$p,TestStdLibCatenate" , "$p,TestCatenate" ],
|
|
"String Scanning(char)", ["$p,TestStdLibScan" , "$p,TestScan" ],
|
|
"String Scanning(string)", ["$p,TestStdLibScan1" , "$p,TestScan1" ],
|
|
"String Scanning(char set)", ["$p,TestStdLibScan2" , "$p,TestScan2" ],
|
|
};
|
|
|
|
my $dataFiles = {
|
|
"",
|
|
[
|
|
"TestNames_Asian.txt",
|
|
"TestNames_Chinese.txt",
|
|
"TestNames_Simplified_Chinese.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",
|
|
]
|
|
};
|
|
|
|
runTests($options, $tests, $dataFiles);
|
|
|
|
# The whole command line would be something like:
|
|
# stringperf.exe -p 5 -t 2 -f c:/src/data/perf/TestNames_Asian.txt -l -u TestStdLibCatenate
|