• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/perl
2#  ********************************************************************
3#  * COPYRIGHT:
4#  * Copyright (c) 2002-2008, International Business Machines
5#  * Corporation and others. All Rights Reserved.
6#  ********************************************************************
7
8#use strict;
9
10use lib '../perldriver';
11
12require "../perldriver/Common.pl";
13
14use PerfFramework;
15
16my $options = {
17	       "title"=>"Unicode String performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")",
18           "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion,
19	       "operationIs"=>"Unicode String",
20	       "passes"=>"10",
21	       "time"=>"5",
22	       #"outputType"=>"HTML",
23	       "dataDir"=>$CollationDataPath,
24           "outputDir"=>"../results"
25	      };
26
27# programs
28
29my $p1; # Previous
30my $p2; # Latest
31
32if ($OnWindows) {
33	$p1 = $ICUPathPrevious."/ustrperf/$WindowsPlatform/Release/stringperf.exe -b -u"; # Previous
34    $p2 = $ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -b -u"; # Latest
35} else {
36	$p1 = $ICUPathPrevious."/ustrperf/stringperf -b -u"; # Previous
37    $p2 = $ICUPathLatest."/ustrperf/stringperf -b -u"; # Latest
38}
39
40my $dataFiles = {
41		 "",
42		 [
43		  "TestNames_Asian.txt",
44		  "TestNames_Chinese.txt",
45		  "TestNames_Japanese.txt",
46		  "TestNames_Japanese_h.txt",
47		  "TestNames_Japanese_k.txt",
48		  "TestNames_Korean.txt",
49		  "TestNames_Latin.txt",
50		  "TestNames_SerbianSH.txt",
51		  "TestNames_SerbianSR.txt",
52		  "TestNames_Thai.txt",
53		  "Testnames_Russian.txt",
54		  "th18057.txt",
55		  "thesis.txt",
56		  "vfear11a.txt",
57		 ]
58		};
59
60
61my $tests = {
62"Object Construction(empty string)",      ["$p1 TestCtor"         , "$p2 TestCtor"         ],
63"Object Construction(single char)",       ["$p1 TestCtor1"        , "$p2 TestCtor1"        ],
64"Object Construction(another string)",    ["$p1 TestCtor2"        , "$p2 TestCtor2"        ],
65"Object Construction(string literal)",    ["$p1 TestCtor3"        , "$p2 TestCtor3"        ],
66"String Assignment(helper)",     		  ["$p1 TestAssign"       , "$p2 TestAssign"       ],
67"String Assignment(string literal)",      ["$p1 TestAssign1"      , "$p2 TestAssign1"      ],
68"String Assignment(another string)",      ["$p1 TestAssign2"      , "$p2 TestAssign2"      ],
69"Get String or Character",      		  ["$p1 TestGetch"        , "$p2 TestGetch"        ],
70"Concatenation",   						  ["$p1 TestCatenate"     , "$p2 TestCatenate"     ],
71"String Scanning(char)",     		      ["$p1 TestScan"         , "$p2 TestScan"         ],
72"String Scanning(string)",       		  ["$p1 TestScan1"        , "$p2 TestScan1"        ],
73"String Scanning(char set)",       	      ["$p1 TestScan2"        , "$p2 TestScan2"        ],
74};
75
76
77runTests($options, $tests, $dataFiles);
78
79
80