11e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany#!/usr/bin/perl 21e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany# ******************************************************************** 31e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany# * COPYRIGHT: 41e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany# * Copyright (c) 2002-2008, International Business Machines 51e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany# * Corporation and others. All Rights Reserved. 61e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany# ******************************************************************** 71e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany 81e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany#use strict; 91e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany 101e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryanyuse lib '../perldriver'; 111e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany 121e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryanyrequire "../perldriver/Common.pl"; 131e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany 141e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryanyuse PerfFramework; 15d6567c5166412f6acdde851e767c26f332d51d3dKostya Serebryany 161e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryanymy $options = { 1764ce2db7c838cd95315f7a4428e8a628eaa3e2fcAlexey Samsonov "title"=>"Unicode String performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", 181e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, 19895b3872acb5bcccb1769ea69d37dd33c722f99dAlexander Potapenko "operationIs"=>"Unicode String", 208a34d384255f9bf4c2a9b03a4df81b9af57124d8Alexander Potapenko "passes"=>"10", 211e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany "time"=>"5", 221e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany #"outputType"=>"HTML", 231e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany "dataDir"=>$CollationDataPath, 24ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov "outputDir"=>"../results" 251e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany }; 261e316d7f488a75312539629e9d937e156280eeb6Alexander Potapenko 278a34d384255f9bf4c2a9b03a4df81b9af57124d8Alexander Potapenko# programs 289b993e8cd0f8964782ee93524603d0c53adc2249Kostya Serebryany 291e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryanymy $p1; # Previous 30ef14ff6512d7b2e20aa3206dff820b5f90285420Kostya Serebryanymy $p2; # Latest 3159dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko 329107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryanyif ($OnWindows) { 33c549dd7b5fa5fb97270f57067797224cee0429f2Kostya Serebryany $p1 = $ICUPathPrevious."/ustrperf/$WindowsPlatform/Release/stringperf.exe -b -u"; # Previous 34a874fe5b5d67152e4e737498d532eec80940bdcdKostya Serebryany $p2 = $ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -b -u"; # Latest 351e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany} else { 36d55f5f8c413622db4bd28b5cca9bfeb4d61564e0Kostya Serebryany $p1 = $ICUPathPrevious."/ustrperf/stringperf -b -u"; # Previous 3764ce2db7c838cd95315f7a4428e8a628eaa3e2fcAlexey Samsonov $p2 = $ICUPathLatest."/ustrperf/stringperf -b -u"; # Latest 381e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany} 391e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryany 401e172b4bdec57329bf904f063a29f99cddf2d85fKostya Serebryanymy $dataFiles = { 413f4c3875c42078e22c7e5356c5746fd18756d958Kostya Serebryany "", 429107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany [ 439107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_Asian.txt", 449107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_Chinese.txt", 459107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_Japanese.txt", 469107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_Japanese_h.txt", 479107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_Japanese_k.txt", 489107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_Korean.txt", 499107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_Latin.txt", 509107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_SerbianSH.txt", 519107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_SerbianSR.txt", 529107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "TestNames_Thai.txt", 539107c26bd88fc9cf44a2cd7d6967eb830ac63be3Kostya Serebryany "Testnames_Russian.txt", 5438dd4ed885e714c376466f6fe0d69f5f22d37014Alexey Samsonov "th18057.txt", 5538dd4ed885e714c376466f6fe0d69f5f22d37014Alexey Samsonov "thesis.txt", 5638dd4ed885e714c376466f6fe0d69f5f22d37014Alexey Samsonov "vfear11a.txt", 5738dd4ed885e714c376466f6fe0d69f5f22d37014Alexey Samsonov ] 5838dd4ed885e714c376466f6fe0d69f5f22d37014Alexey Samsonov }; 5938dd4ed885e714c376466f6fe0d69f5f22d37014Alexey Samsonov 6038dd4ed885e714c376466f6fe0d69f5f22d37014Alexey Samsonov 6138dd4ed885e714c376466f6fe0d69f5f22d37014Alexey Samsonovmy $tests = { 6259dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"Object Construction(empty string)", ["$p1 TestCtor" , "$p2 TestCtor" ], 6359dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"Object Construction(single char)", ["$p1 TestCtor1" , "$p2 TestCtor1" ], 643f46cf42b0f8e0667a3bea88cf871ebd4dc0ecdfAlexey Samsonov"Object Construction(another string)", ["$p1 TestCtor2" , "$p2 TestCtor2" ], 6559dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"Object Construction(string literal)", ["$p1 TestCtor3" , "$p2 TestCtor3" ], 6659dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"String Assignment(helper)", ["$p1 TestAssign" , "$p2 TestAssign" ], 673f4c3875c42078e22c7e5356c5746fd18756d958Kostya Serebryany"String Assignment(string literal)", ["$p1 TestAssign1" , "$p2 TestAssign1" ], 6859dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"String Assignment(another string)", ["$p1 TestAssign2" , "$p2 TestAssign2" ], 693f4c3875c42078e22c7e5356c5746fd18756d958Kostya Serebryany"Get String or Character", ["$p1 TestGetch" , "$p2 TestGetch" ], 7059dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"Concatenation", ["$p1 TestCatenate" , "$p2 TestCatenate" ], 7159dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"String Scanning(char)", ["$p1 TestScan" , "$p2 TestScan" ], 7259dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"String Scanning(string)", ["$p1 TestScan1" , "$p2 TestScan1" ], 7359dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko"String Scanning(char set)", ["$p1 TestScan2" , "$p2 TestScan2" ], 7459dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko}; 7559dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko 7659dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko 7759dc578df0de177b44c8c78f69d73735e38e5c14Alexander PotapenkorunTests($options, $tests, $dataFiles); 7859dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko 7959dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko 8059dc578df0de177b44c8c78f69d73735e38e5c14Alexander Potapenko