diff --git a/icu4c/source/test/perf/README b/icu4c/source/test/perf/README index 03acaaed8c..276a84bd72 100644 --- a/icu4c/source/test/perf/README +++ b/icu4c/source/test/perf/README @@ -1,4 +1,4 @@ -Copyright (C) 2008, International Business Machines +Copyright (C) 2008-2013, International Business Machines Corporation and others. All Rights Reserved. README for ICU4C Performance Test @@ -13,7 +13,7 @@ have its own web page. Requirements: The most up to date tests are in ICU 4.0 and later. In addition, most tests depend on data which are -in a seperate repository. +in a separate repository. Data repository: http://source.icu-project.org/repos/icu/data/trunk/test/perf @@ -22,18 +22,15 @@ There are 3 folders in here: collation, conversion, and udr. Running Performance Test: -1) You should create a directory to hold the ICU (current and previous versions) and the data. - (e.g. C:\ICUPerformanceTest) +1) Checkout the current ICU and 2 previous versions (for proper regression testing) and the data + into your local system. -2) Checkout the current ICU and 2 previous versions (for proper regression testing) and the data - into the ICUPerformanceTest directory. +2) Do a general build on all the ICUs either through Visual Studios or with the Makefile. -3) Do a general build on all the ICUs either through Visual Studios or with the Makefile. - -4) Build the ICU performance tests either through Visual Studios or with the Makefile. +3) Build the ICU performance tests either through Visual Studios or with the Makefile. (The location of the performance test is: icu/source/test/perf) -5) Go to perf/perldriver and edit Common.pl. +4) Go to perf/perldriver, copy Common.pl.template to Common.pl. In this file, you will need to set a few variables: a) ICU version numbers b) Path to the performance test data @@ -42,12 +39,14 @@ Running Performance Test: * The Path needs to be absolute * All other variables should be left as is +5) Create a directory pref/results. All of the test result web pages will be + stored in this directory. + 6) In the perf directory, there are several other directories for the various tests that can be run. (e.g. convperf (Conversion tests)). Go to each directory and execute the perl script for each test you want to run. (e.g. CharPerf_r.pl in CharPerf directory) * You only need to run the perl script from the latest ICU version. The corresponding perl script in the previous versions of ICU do not need to be run seperately. - * All of the test result web pages will be stored in perf/results. Note: When running on Windows, cygwin is preferred. @@ -59,3 +58,5 @@ Note: To run the actual performance test, you will need to setup Perl with the f b) Statistics/Descriptive.pm Note: Some tests take a while depending on the machine it is running on so a script to run each performance test's perl script might be helpful. +Note: The perl script is only used in one version of ICU. When you run regression tests, + it is recommended to run the tests from the later version of ICU. diff --git a/icu4c/source/test/perf/charperf/CharPerf.pl b/icu4c/source/test/perf/charperf/CharPerf.pl index cf03bc4bfa..3aee1cbcc9 100755 --- a/icu4c/source/test/perf/charperf/CharPerf.pl +++ b/icu4c/source/test/perf/charperf/CharPerf.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines Corporation and +# * Copyright (c) 2002-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -15,39 +15,39 @@ use lib '../perldriver'; use PerfFramework; my $options = { - "title"=>"Character property performance: ICU".$ICULatestVersion." vs. STDLib", - "headers"=>"StdLib ICU".$ICULatestVersion, - "operationIs"=>"code point", - "timePerOperationIs"=>"Time per code point", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>"Not Using Data Files", - "outputDir"=>"../results" - }; + "title"=>"Character property performance: ICU".$ICULatestVersion." vs. STDLib", + "headers"=>"StdLib ICU".$ICULatestVersion, + "operationIs"=>"code point", + "timePerOperationIs"=>"Time per code point", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>"Not Using Data Files", + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected my $p; if ($OnWindows) { - $p = $ICUPathLatest."/charperf/$WindowsPlatform/Release/charperf.exe"; + $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/charperf/$WindowsPlatform/Release/charperf.exe"; } else { - $p = $ICUPathLatest."/charperf/charperf"; + $p = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/charperf/charperf"; } my $tests = { -"isAlpha", ["$p TestStdLibIsAlpha" , "$p TestIsAlpha" ], -"isUpper", ["$p TestStdLibIsUpper" , "$p TestIsUpper" ], -"isLower", ["$p TestStdLibIsLower" , "$p TestIsLower" ], -"isDigit", ["$p TestStdLibIsDigit" , "$p TestIsDigit" ], -"isSpace", ["$p TestStdLibIsSpace" , "$p TestIsSpace" ], -"isAlphaNumeric", ["$p TestStdLibIsAlphaNumeric" , "$p TestIsAlphaNumeric" ], -"isPrint", ["$p TestStdLibIsPrint" , "$p TestIsPrint" ], -"isControl", ["$p TestStdLibIsControl" , "$p TestIsControl" ], -"toLower", ["$p TestStdLibToLower" , "$p TestToLower" ], -"toUpper", ["$p TestStdLibToUpper" , "$p TestToUpper" ], -"isWhiteSpace", ["$p TestStdLibIsWhiteSpace" , "$p TestIsWhiteSpace" ], + "isAlpha", ["$p,TestStdLibIsAlpha" , "$p,TestIsAlpha" ], + "isUpper", ["$p,TestStdLibIsUpper" , "$p,TestIsUpper" ], + "isLower", ["$p,TestStdLibIsLower" , "$p,TestIsLower" ], + "isDigit", ["$p,TestStdLibIsDigit" , "$p,TestIsDigit" ], + "isSpace", ["$p,TestStdLibIsSpace" , "$p,TestIsSpace" ], + "isAlphaNumeric", ["$p,TestStdLibIsAlphaNumeric" , "$p,TestIsAlphaNumeric" ], + "isPrint", ["$p,TestStdLibIsPrint" , "$p,TestIsPrint" ], + "isControl", ["$p,TestStdLibIsControl" , "$p,TestIsControl" ], + "toLower", ["$p,TestStdLibToLower" , "$p,TestToLower" ], + "toUpper", ["$p,TestStdLibToUpper" , "$p,TestToUpper" ], + "isWhiteSpace", ["$p,TestStdLibIsWhiteSpace" , "$p,TestIsWhiteSpace" ], }; my $dataFiles; diff --git a/icu4c/source/test/perf/charperf/CharPerf_r.pl b/icu4c/source/test/perf/charperf/CharPerf_r.pl index ffd858ae65..2a67b5a1ed 100755 --- a/icu4c/source/test/perf/charperf/CharPerf_r.pl +++ b/icu4c/source/test/perf/charperf/CharPerf_r.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines +# * Copyright (c) 2002-2013, International Business Machines # * Corporation and others. All Rights Reserved. # ******************************************************************** @@ -14,44 +14,43 @@ use lib '../perldriver'; use PerfFramework; my $options = { - "title"=>"Character property performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"code point", - "timePerOperationIs"=>"Time per code point", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>"Not Using Data Files", - "outputDir"=>"../results" - }; + "title"=>"Character property performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", + "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, + "operationIs"=>"code point", + "timePerOperationIs"=>"Time per code point", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>"Not Using Data Files", + "outputDir"=>"../results" +}; # programs my $p1; # Previous my $p2; # Latest if ($OnWindows) { - $p1 = $ICUPathPrevious."/charperf/$WindowsPlatform/Release/charperf.exe"; - $p2 = $ICUPathLatest."/charperf/$WindowsPlatform/Release/charperf.exe"; + $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/charperf/$WindowsPlatform/Release/charperf.exe"; + $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/charperf/$WindowsPlatform/Release/charperf.exe"; } else { - $p1 = $ICUPathPrevious."/charperf/charperf"; - $p2 = $ICUPathLatest."/charperf/charperf"; + $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."source/lib:".$ICUPrevious."source/tools/ctestfw ".$ICUPathPrevious."/charperf/charperf"; + $p2 = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/charperf/charperf"; } my $dataFiles = ""; - my $tests = { -"isAlpha", ["$p1 TestIsAlpha" , "$p2 TestIsAlpha" ], -"isUpper", ["$p1 TestIsUpper" , "$p2 TestIsUpper" ], -"isLower", ["$p1 TestIsLower" , "$p2 TestIsLower" ], -"isDigit", ["$p1 TestIsDigit" , "$p2 TestIsDigit" ], -"isSpace", ["$p1 TestIsSpace" , "$p2 TestIsSpace" ], -"isAlphaNumeric", ["$p1 TestIsAlphaNumeric" , "$p2 TestIsAlphaNumeric" ], -"isPrint", ["$p1 TestIsPrint" , "$p2 TestIsPrint" ], -"isControl", ["$p1 TestIsControl" , "$p2 TestIsControl" ], -"toLower", ["$p1 TestToLower" , "$p2 TestToLower" ], -"toUpper", ["$p1 TestToUpper" , "$p2 TestToUpper" ], -"isWhiteSpace", ["$p1 TestIsWhiteSpace" , "$p2 TestIsWhiteSpace" ], + "isAlpha", ["$p1 TestIsAlpha" , "$p2 TestIsAlpha" ], + "isUpper", ["$p1 TestIsUpper" , "$p2 TestIsUpper" ], + "isLower", ["$p1 TestIsLower" , "$p2 TestIsLower" ], + "isDigit", ["$p1 TestIsDigit" , "$p2 TestIsDigit" ], + "isSpace", ["$p1 TestIsSpace" , "$p2 TestIsSpace" ], + "isAlphaNumeric", ["$p1 TestIsAlphaNumeric" , "$p2 TestIsAlphaNumeric" ], + "isPrint", ["$p1 TestIsPrint" , "$p2 TestIsPrint" ], + "isControl", ["$p1 TestIsControl" , "$p2 TestIsControl" ], + "toLower", ["$p1 TestToLower" , "$p2 TestToLower" ], + "toUpper", ["$p1 TestToUpper" , "$p2 TestToUpper" ], + "isWhiteSpace", ["$p1 TestIsWhiteSpace" , "$p2 TestIsWhiteSpace" ], }; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/collationperf/CollPerf.pl b/icu4c/source/test/perf/collationperf/CollPerf.pl index c88e86d956..9f74c3c167 100755 --- a/icu4c/source/test/perf/collationperf/CollPerf.pl +++ b/icu4c/source/test/perf/collationperf/CollPerf.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines Corporation and +# * Copyright (c) 2002-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -11,10 +11,10 @@ use lib '../perldriver'; my $p; if ($OnWindows) { - $p = $ICUPathLatest . "/collationperf/$WindowsPlatform/Release/collationperf.exe"; + $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest . "/collationperf/$WindowsPlatform/Release/collationperf.exe"; } else { - $p = $ICUPathLatest . "/collationperf/collperf"; + $p = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest . "/collationperf/collperf"; } my @locale = ( diff --git a/icu4c/source/test/perf/collperf/CollPerf.pl b/icu4c/source/test/perf/collperf/CollPerf.pl index 1971f5aa53..865f4daea3 100755 --- a/icu4c/source/test/perf/collperf/CollPerf.pl +++ b/icu4c/source/test/perf/collperf/CollPerf.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2005-2012, International Business Machines Corporation and +# * Copyright (c) 2005-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -14,92 +14,92 @@ require "../perldriver/Common.pl"; use PerfFramework; my $options = { - "title"=>"Collation performance: ICU,POSIX,and Win", - "headers"=>"ICU POSIX WIN", - "operationIs"=>"unicode String", - "passes"=>"1", - "time"=>"2", - #"outputType"=>"HTML", - "dataDir"=>$CollationDataPath, - "outputDir"=>"../results" - }; + "title"=>"Collation performance: ICU,POSIX,and Win", + "headers"=>"ICU POSIX WIN", + "operationIs"=>"unicode String", + "passes"=>"1", + "time"=>"2", + #"outputType"=>"HTML", + "dataDir"=>$CollationDataPath, + "outputDir"=>"../results" +}; my $p; if ($OnWindows) { - $p = $ICUPathLatest."/collperf/$WindowsPlatform/Release/collperf.exe"; + $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/collperf/$WindowsPlatform/Release/collperf.exe"; } else { - $p = $ICUPathLatest."/collperf/collperf"; + $p = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/collperf/collperf"; } # programs # tests will be done for all the programs. Results will be stored and connected my $test; if ($OnWindows) { - $tests = { - "Key Gen null", ["$p TestIcu_KeyGen_null", "$p TestPosix_KeyGen_null", "$p TestWin_KeyGen_null"], - "qsort strcoll null", ["$p TestIcu_qsort_strcoll_null", "$p TestPosix_qsort_strcoll_null", "$p TestWin_qsort_CompareStringW_null"], - "qsort use key", ["$p TestIcu_qsort_usekey", "$p TestPosix_qsort_usekey", "$p TestWin_qsort_usekey"], - "Binary Search icu strcoll null", ["$p TestIcu_BinarySearch_strcoll_null", "$p TestPosix_BinarySearch_strcoll_null", "$p TestWin_BinarySearch_CompareStringW_null"], - "Binary Search icu use key", ["$p TestIcu_BinarySearch_usekey", "$p TestPosix_BinarySearch_usekey", "$p TestWin_BinarySearch_usekey"], - # These are the original test. They are commented out to so that the above test can run and compare certain aspects of collation. - #"Key Gen ICU null", ["$p TestIcu_KeyGen_null"], - #"Key Gen ICU len", ["$p TestIcu_KeyGen_len"], - #"Key Gen POSIX", ["$p TestPosix_KeyGen_null"], - #"Key Gen Win", ["$p TestWin_KeyGen_null"], - #"Iteration icu forward null", ["$p TestIcu_ForwardIter_null"], - #"Iteration icu forward len", ["$p TestIcu_ForwardIter_len"], - #"Iteration icu backward null", ["$p TestIcu_BackwardIter_null"], - #"Iteration icu backward len", ["$p TestIcu_BackwardIter_len"], - #"Iteration/all icu forward null", ["$p TestIcu_ForwardIter_all_null"], - #"Iteration/all icu forward len", ["$p TestIcu_ForwardIter_all_len"], - #"Iteration/all icu backward null", ["$p TestIcu_BackwardIter_all_null"], - #"Iteration/all icu backward len", ["$p TestIcu_BackwardIter_all_len"], - #"qsort icu strcoll null", ["$p TestIcu_qsort_strcoll_null"], - #"qsort icu strcoll len", ["$p TestIcu_qsort_strcoll_len"], - #"qsort icu use key", ["$p TestIcu_qsort_usekey"], - #"qsort posix strcoll null", ["$p TestPosix_qsort_strcoll_null"], - #"qsort posix use key", ["$p TestPosix_qsort_usekey"], - #"qsort win CompareStringW null", ["$p TestWin_qsort_CompareStringW_null"], - #"qsort win CompareStringW len", ["$p TestWin_qsort_CompareStringW_len"], - #"qsort win use key", ["$p TestWin_qsort_usekey"], - #"Binary Search icu strcoll null", ["$p TestIcu_BinarySearch_strcoll_null"], - #"Binary Search icu strcoll len", ["$p TestIcu_BinarySearch_strcoll_len"], - #"Binary Search icu use key", ["$p TestIcu_BinarySearch_usekey"], - #"Binary Search icu u_strcmp", ["$p TestIcu_BinarySearch_strcmp"], - #"Binary Search icu cmpCPO", ["$p TestIcu_BinarySearch_cmpCPO"], - #"Binary Search posix strcoll null", ["$p TestPosix_BinarySearch_strcoll_null"], - #"Binary Search posix use key", ["$p TestPosix_BinarySearch_usekey"], - #"Binary Search win CompareStringW null", ["$p TestWin_BinarySearch_CompareStringW_null"], - #"Binary Search win CompareStringW len", ["$p TestWin_BinarySearch_CompareStringW_len"], - #"Binary Search win use key", ["$p TestWin_BinarySearch_usekey"], - #"Binary Search win wcscmp", ["$p TestWin_BinarySearch_wcscmp"], - }; + $tests = { + "Key Gen null", ["$p,TestIcu_KeyGen_null", "$p,TestPosix_KeyGen_null", "$p,TestWin_KeyGen_null"], + "qsort strcoll null", ["$p,TestIcu_qsort_strcoll_null", "$p,TestPosix_qsort_strcoll_null", "$p,TestWin_qsort_CompareStringW_null"], + "qsort use key", ["$p,TestIcu_qsort_usekey", "$p,TestPosix_qsort_usekey", "$p,TestWin_qsort_usekey"], + "Binary Search icu strcoll null", ["$p,TestIcu_BinarySearch_strcoll_null", "$p,TestPosix_BinarySearch_strcoll_null", "$p,TestWin_BinarySearch_CompareStringW_null"], + "Binary Search icu use key", ["$p,TestIcu_BinarySearch_usekey", "$p,TestPosix_BinarySearch_usekey", "$p,TestWin_BinarySearch_usekey"], + # These are the original test. They are commented out to so that the above test can run and compare certain aspects of collation. + #"Key Gen ICU null", ["$p,TestIcu_KeyGen_null"], + #"Key Gen ICU len", ["$p,TestIcu_KeyGen_len"], + #"Key Gen POSIX", ["$p,TestPosix_KeyGen_null"], + #"Key Gen Win", ["$p,TestWin_KeyGen_null"], + #"Iteration icu forward null", ["$p,TestIcu_ForwardIter_null"], + #"Iteration icu forward len", ["$p,TestIcu_ForwardIter_len"], + #"Iteration icu backward null", ["$p,TestIcu_BackwardIter_null"], + #"Iteration icu backward len", ["$p,TestIcu_BackwardIter_len"], + #"Iteration/all icu forward null", ["$p,TestIcu_ForwardIter_all_null"], + #"Iteration/all icu forward len", ["$p,TestIcu_ForwardIter_all_len"], + #"Iteration/all icu backward null", ["$p,TestIcu_BackwardIter_all_null"], + #"Iteration/all icu backward len", ["$p,TestIcu_BackwardIter_all_len"], + #"qsort icu strcoll null", ["$p,TestIcu_qsort_strcoll_null"], + #"qsort icu strcoll len", ["$p,TestIcu_qsort_strcoll_len"], + #"qsort icu use key", ["$p,TestIcu_qsort_usekey"], + #"qsort posix strcoll null", ["$p,TestPosix_qsort_strcoll_null"], + #"qsort posix use key", ["$p,TestPosix_qsort_usekey"], + #"qsort win CompareStringW null", ["$p,TestWin_qsort_CompareStringW_null"], + #"qsort win CompareStringW len", ["$p,TestWin_qsort_CompareStringW_len"], + #"qsort win use key", ["$p,TestWin_qsort_usekey"], + #"Binary Search icu strcoll null", ["$p,TestIcu_BinarySearch_strcoll_null"], + #"Binary Search icu strcoll len", ["$p,TestIcu_BinarySearch_strcoll_len"], + #"Binary Search icu use key", ["$p,TestIcu_BinarySearch_usekey"], + #"Binary Search icu u_strcmp", ["$p,TestIcu_BinarySearch_strcmp"], + #"Binary Search icu cmpCPO", ["$p,TestIcu_BinarySearch_cmpCPO"], + #"Binary Search posix strcoll null", ["$p,TestPosix_BinarySearch_strcoll_null"], + #"Binary Search posix use key", ["$p,TestPosix_BinarySearch_usekey"], + #"Binary Search win CompareStringW null", ["$p,TestWin_BinarySearch_CompareStringW_null"], + #"Binary Search win CompareStringW len", ["$p,TestWin_BinarySearch_CompareStringW_len"], + #"Binary Search win use key", ["$p,TestWin_BinarySearch_usekey"], + #"Binary Search win wcscmp", ["$p,TestWin_BinarySearch_wcscmp"], + }; } else { - $tests = { - "Key Gen null", ["$p TestIcu_KeyGen_null", "$p TestPosix_KeyGen_null"], - "qsort strcoll null", ["$p TestIcu_qsort_strcoll_null", "$p TestPosix_qsort_strcoll_null"], - "qsort use key", ["$p TestIcu_qsort_usekey", "$p TestPosix_qsort_usekey"], - "Binary Search icu strcoll null", ["$p TestIcu_BinarySearch_strcoll_null", "$p TestPosix_BinarySearch_strcoll_null"], - "Binary Search icu use key", ["$p TestIcu_BinarySearch_usekey", "$p TestPosix_BinarySearch_usekey"], - }; + $tests = { + "Key Gen null", ["$p,TestIcu_KeyGen_null", "$p,TestPosix_KeyGen_null"], + "qsort strcoll null", ["$p,TestIcu_qsort_strcoll_null", "$p,TestPosix_qsort_strcoll_null"], + "qsort use key", ["$p,TestIcu_qsort_usekey", "$p,TestPosix_qsort_usekey"], + "Binary Search icu strcoll null", ["$p,TestIcu_BinarySearch_strcoll_null", "$p,TestPosix_BinarySearch_strcoll_null"], + "Binary Search icu use key", ["$p,TestIcu_BinarySearch_usekey", "$p,TestPosix_BinarySearch_usekey"], + }; } my $dataFiles = { - "", - [ - "TestNames_Asian.txt", - "TestNames_Chinese.txt", - "TestNames_Japanese.txt", - "TestNames_Japanese_h.txt", - "TestNames_Japanese_k.txt", - "TestNames_Korean.txt", - "TestNames_Latin.txt", - "TestNames_Russian.txt", - "TestNames_SerbianSH.txt", - "TestNames_SerbianSR.txt", - "TestNames_Simplified_Chinese.txt", - "TestNames_Thai.txt" - ] - }; + "", + [ + "TestNames_Asian.txt", + "TestNames_Chinese.txt", + "TestNames_Japanese.txt", + "TestNames_Japanese_h.txt", + "TestNames_Japanese_k.txt", + "TestNames_Korean.txt", + "TestNames_Latin.txt", + "TestNames_Russian.txt", + "TestNames_SerbianSH.txt", + "TestNames_SerbianSR.txt", + "TestNames_Simplified_Chinese.txt", + "TestNames_Thai.txt" + ] +}; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/collperf/CollPerf_r.pl b/icu4c/source/test/perf/collperf/CollPerf_r.pl index fe17d60186..21f032e0de 100755 --- a/icu4c/source/test/perf/collperf/CollPerf_r.pl +++ b/icu4c/source/test/perf/collperf/CollPerf_r.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2008-2012, International Business Machines Corporation and +# * Copyright (c) 2008-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -14,66 +14,66 @@ require "../perldriver/Common.pl"; use PerfFramework; my $options = { - "title"=>"Collation performanceregression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"unicode String", - "passes"=>"1", - "time"=>"2", - #"outputType"=>"HTML", - "dataDir"=>$CollationDataPath, - "outputDir"=>"../results" - }; + "title"=>"Collation performanceregression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", + "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, + "operationIs"=>"unicode String", + "passes"=>"1", + "time"=>"2", + #"outputType"=>"HTML", + "dataDir"=>$CollationDataPath, + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected my $p1, $p2; if ($OnWindows) { - $p1 = $ICUPathPrevious."/collperf/$WindowsPlatform/Release/collperf.exe"; - $p2 = $ICUPathLatest."/collperf/$WindowsPlatform/Release/collperf.exe"; + $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/collperf/$WindowsPlatform/Release/collperf.exe"; + $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/collperf/$WindowsPlatform/Release/collperf.exe"; } else { - $p1 = $ICUPathPrevious."/collperf/collperf"; - $p2 = $ICUPathLatest."/collperf/collperf"; + $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."source/lib:".$ICUPrevious."source/tools/ctestfw ".$ICUPathPrevious."/collperf/collperf"; + $p2 = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/collperf/collperf"; } -my $tests = { - "Key Gen ICU null", ["$p1 TestIcu_KeyGen_null", "$p2 TestIcu_KeyGen_null"], - "Key Gen ICU len", ["$p1 TestIcu_KeyGen_len", "$p2 TestIcu_KeyGen_len"], - "Iteration icu forward null", ["$p1 TestIcu_ForwardIter_null", "$p2 TestIcu_ForwardIter_null"], - "Iteration icu forward len", ["$p1 TestIcu_ForwardIter_len", "$p2 TestIcu_ForwardIter_len"], - "Iteration icu backward null", ["$p1 TestIcu_BackwardIter_null", "$p2 TestIcu_BackwardIter_null"], - "Iteration icu backward len", ["$p1 TestIcu_BackwardIter_len", "$p2 TestIcu_BackwardIter_len"], - "Iteration/all icu forward null", ["$p1 TestIcu_ForwardIter_all_null", "$p2 TestIcu_ForwardIter_all_null"], - "Iteration/all icu forward len", ["$p1 TestIcu_ForwardIter_all_len", "$p2 TestIcu_ForwardIter_all_len"], - "Iteration/all icu backward null", ["$p1 TestIcu_BackwardIter_all_null", "$p2 TestIcu_BackwardIter_all_null"], - "Iteration/all icu backward len", ["$p1 TestIcu_BackwardIter_all_len", "$p2 TestIcu_BackwardIter_all_len"], - "qsort icu strcoll null", ["$p1 TestIcu_qsort_strcoll_null", "$p2 TestIcu_qsort_strcoll_null"], - "qsort icu strcoll len", ["$p1 TestIcu_qsort_strcoll_len", "$p2 TestIcu_qsort_strcoll_len"], - "qsort icu use key", ["$p1 TestIcu_qsort_usekey", "$p2 TestIcu_qsort_usekey"], - "Binary Search icu strcoll null", ["$p1 TestIcu_BinarySearch_strcoll_null", "$p2 TestIcu_BinarySearch_strcoll_null"], - "Binary Search icu strcoll len", ["$p1 TestIcu_BinarySearch_strcoll_len", "$p2 TestIcu_BinarySearch_strcoll_len"], - "Binary Search icu use key", ["$p1 TestIcu_BinarySearch_usekey", "$p2 TestIcu_BinarySearch_usekey"], - "Binary Search icu u_strcmp", ["$p1 TestIcu_BinarySearch_strcmp", "$p2 TestIcu_BinarySearch_strcmp"], - "Binary Search icu cmpCPO", ["$p1 TestIcu_BinarySearch_cmpCPO", "$p2 TestIcu_BinarySearch_cmpCPO"], - }; +my $tests = { + "Key Gen ICU null", ["$p1,TestIcu_KeyGen_null", "$p2,TestIcu_KeyGen_null"], + "Key Gen ICU len", ["$p1,TestIcu_KeyGen_len", "$p2,TestIcu_KeyGen_len"], + "Iteration icu forward null", ["$p1,TestIcu_ForwardIter_null", "$p2,TestIcu_ForwardIter_null"], + "Iteration icu forward len", ["$p1,TestIcu_ForwardIter_len", "$p2,TestIcu_ForwardIter_len"], + "Iteration icu backward null", ["$p1,TestIcu_BackwardIter_null", "$p2,TestIcu_BackwardIter_null"], + "Iteration icu backward len", ["$p1,TestIcu_BackwardIter_len", "$p2,TestIcu_BackwardIter_len"], + "Iteration/all icu forward null", ["$p1,TestIcu_ForwardIter_all_null", "$p2,TestIcu_ForwardIter_all_null"], + "Iteration/all icu forward len", ["$p1,TestIcu_ForwardIter_all_len", "$p2,TestIcu_ForwardIter_all_len"], + "Iteration/all icu backward null", ["$p1,TestIcu_BackwardIter_all_null", "$p2,TestIcu_BackwardIter_all_null"], + "Iteration/all icu backward len", ["$p1,TestIcu_BackwardIter_all_len", "$p2,TestIcu_BackwardIter_all_len"], + "qsort icu strcoll null", ["$p1,TestIcu_qsort_strcoll_null", "$p2,TestIcu_qsort_strcoll_null"], + "qsort icu strcoll len", ["$p1,TestIcu_qsort_strcoll_len", "$p2,TestIcu_qsort_strcoll_len"], + "qsort icu use key", ["$p1,TestIcu_qsort_usekey", "$p2,TestIcu_qsort_usekey"], + "Binary Search icu strcoll null", ["$p1,TestIcu_BinarySearch_strcoll_null", "$p2,TestIcu_BinarySearch_strcoll_null"], + "Binary Search icu strcoll len", ["$p1,TestIcu_BinarySearch_strcoll_len", "$p2,TestIcu_BinarySearch_strcoll_len"], + "Binary Search icu use key", ["$p1,TestIcu_BinarySearch_usekey", "$p2,TestIcu_BinarySearch_usekey"], + "Binary Search icu u_strcmp", ["$p1,TestIcu_BinarySearch_strcmp", "$p2,TestIcu_BinarySearch_strcmp"], + "Binary Search icu cmpCPO", ["$p1,TestIcu_BinarySearch_cmpCPO", "$p2,TestIcu_BinarySearch_cmpCPO"], +}; my $dataFiles = { - "", - [ - "TestNames_Asian.txt", - "TestNames_Chinese.txt", - "TestNames_Japanese.txt", - "TestNames_Japanese_h.txt", - "TestNames_Japanese_k.txt", - "TestNames_Korean.txt", - "TestNames_Latin.txt", - "TestNames_Russian.txt", - "TestNames_SerbianSH.txt", - "TestNames_SerbianSR.txt", - "TestNames_Simplified_Chinese.txt", - "TestNames_Thai.txt" - ] - }; + "", + [ + "TestNames_Asian.txt", + "TestNames_Chinese.txt", + "TestNames_Japanese.txt", + "TestNames_Japanese_h.txt", + "TestNames_Japanese_k.txt", + "TestNames_Korean.txt", + "TestNames_Latin.txt", + "TestNames_Russian.txt", + "TestNames_SerbianSH.txt", + "TestNames_SerbianSR.txt", + "TestNames_Simplified_Chinese.txt", + "TestNames_Thai.txt" + ] +}; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/convperf/ConvPerf_r.pl b/icu4c/source/test/perf/convperf/ConvPerf_r.pl index a5b8a46f47..2d611f711b 100644 --- a/icu4c/source/test/perf/convperf/ConvPerf_r.pl +++ b/icu4c/source/test/perf/convperf/ConvPerf_r.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines +# * Copyright (c) 2002-2013, International Business Machines # * Corporation and others. All Rights Reserved. # ******************************************************************** @@ -15,53 +15,53 @@ use PerfFramework; # This test only works on Windows. if (!$OnWindows) { - print "This test only works on Windows.\n"; - exit(1); + print "This test only works on Windows.\n"; + exit(1); } my $options = { - "title"=>"Conversion performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"code point", - "timePerOperationIs"=>"Time per code point", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>"Not Using Data Files", - "outputDir"=>"../results" - }; + "title"=>"Conversion performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", + "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, + "operationIs"=>"code point", + "timePerOperationIs"=>"Time per code point", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>"Not Using Data Files", + "outputDir"=>"../results" +}; # programs -my $p1 = $ICUPathPrevious."/convperf/$WindowsPlatform/Release/convperf.exe"; # Previous -my $p2 = $ICUPathLatest."/convperf/$WindowsPlatform/Release/convperf.exe"; # Latest +my $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/convperf/$WindowsPlatform/Release/convperf.exe"; # Previous +my $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/convperf/$WindowsPlatform/Release/convperf.exe"; # Latest my $dataFiles = ""; my $tests = { - "UTF-8 From Unicode", ["$p1 TestICU_UTF8_FromUnicode" , "$p2 TestICU_UTF8_FromUnicode" ], - "UTF-8 To Unicode", ["$p1 TestICU_UTF8_ToUnicode" , "$p2 TestICU_UTF8_ToUnicode" ], - #### - "ISO-8859-1 From Unicode", ["$p1 TestICU_Latin1_FromUnicode" , "$p2 TestICU_Latin1_FromUnicode" ], - "ISO-8859-1 To Unicode", ["$p1 TestICU_Latin1_ToUnicode" , "$p2 TestICU_Latin1_ToUnicode" ], - #### - "Shift-JIS From Unicode", ["$p1 TestICU_SJIS_FromUnicode" , "$p2 TestICU_SJIS_FromUnicode" ], - "Shift-JIS To Unicode", ["$p1 TestICU_SJIS_ToUnicode" , "$p2 TestICU_SJIS_ToUnicode" ], - #### - "EUC-JP From Unicode", ["$p1 TestICU_EUCJP_FromUnicode" , "$p2 TestICU_EUCJP_FromUnicode" ], - "EUC-JP To Unicode", ["$p1 TestICU_EUCJP_ToUnicode" , "$p2 TestICU_EUCJP_ToUnicode" ], - #### - "GB2312 From Unicode", ["$p1 TestICU_GB2312_FromUnicode" , "$p2 TestICU_GB2312_FromUnicode" ], - "GB2312 To Unicode", ["$p1 TestICU_GB2312_ToUnicode" , "$p2 TestICU_GB2312_ToUnicode" ], - #### - "ISO2022KR From Unicode", ["$p1 TestICU_ISO2022KR_FromUnicode", "$p2 TestICU_ISO2022KR_FromUnicode" ], - "ISO2022KR To Unicode", ["$p1 TestICU_ISO2022KR_ToUnicode" , "$p2 TestICU_ISO2022KR_ToUnicode" ], - #### - "ISO2022JP From Unicode", ["$p1 TestICU_ISO2022JP_FromUnicode", "$p2 TestICU_ISO2022JP_FromUnicode" ], - "ISO2022JP To Unicode", ["$p1 TestICU_ISO2022JP_ToUnicode" , "$p2 TestICU_ISO2022JP_ToUnicode" ], - }; - + "UTF-8 From Unicode", ["$p1,TestICU_UTF8_FromUnicode", "$p2,TestICU_UTF8_FromUnicode" ], + "UTF-8 To Unicode", ["$p1,TestICU_UTF8_ToUnicode", "$p2,TestICU_UTF8_ToUnicode" ], + #### + "ISO-8859-1 From Unicode", ["$p1,TestICU_Latin1_FromUnicode", "$p2,TestICU_Latin1_FromUnicode" ], + "ISO-8859-1 To Unicode", ["$p1,TestICU_Latin1_ToUnicode", "$p2,TestICU_Latin1_ToUnicode" ], + #### + "Shift-JIS From Unicode", ["$p1,TestICU_SJIS_FromUnicode", "$p2,TestICU_SJIS_FromUnicode" ], + "Shift-JIS To Unicode", ["$p1,TestICU_SJIS_ToUnicode", "$p2,TestICU_SJIS_ToUnicode" ], + #### + "EUC-JP From Unicode", ["$p1,TestICU_EUCJP_FromUnicode", "$p2,TestICU_EUCJP_FromUnicode" ], + "EUC-JP To Unicode", ["$p1,TestICU_EUCJP_ToUnicode", "$p2,TestICU_EUCJP_ToUnicode" ], + #### + "GB2312 From Unicode", ["$p1,TestICU_GB2312_FromUnicode", "$p2,TestICU_GB2312_FromUnicode" ], + "GB2312 To Unicode", ["$p1,TestICU_GB2312_ToUnicode", "$p2,TestICU_GB2312_ToUnicode" ], + #### + "ISO2022KR From Unicode", ["$p1,TestICU_ISO2022KR_FromUnicode", "$p2,TestICU_ISO2022KR_FromUnicode" ], + "ISO2022KR To Unicode", ["$p1,TestICU_ISO2022KR_ToUnicode", "$p2,TestICU_ISO2022KR_ToUnicode" ], + #### + "ISO2022JP From Unicode", ["$p1,TestICU_ISO2022JP_FromUnicode", "$p2,TestICU_ISO2022JP_FromUnicode" ], + "ISO2022JP To Unicode", ["$p1,TestICU_ISO2022JP_ToUnicode", "$p2,TestICU_ISO2022JP_ToUnicode" ], +}; + runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/convperf/convperf_ansi.pl b/icu4c/source/test/perf/convperf/convperf_ansi.pl index 1982be8522..7fccf0b929 100755 --- a/icu4c/source/test/perf/convperf/convperf_ansi.pl +++ b/icu4c/source/test/perf/convperf/convperf_ansi.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines Corporation and +# * Copyright (c) 2002-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -20,36 +20,36 @@ if (!$OnWindows) { } my $options = { - "title"=>"Conversion Performance: ICU ".$ICULatestVersion." vs. Windows XP ANSI Interface", - "headers"=>"WindowsXP(IMultiLanguage2) ICU".$ICULatestVersion, - "operationIs"=>"code point", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>"Not Using Data Files", - "outputDir"=>"../results" - }; + "title"=>"Conversion Performance: ICU ".$ICULatestVersion." vs. Windows XP ANSI Interface", + "headers"=>"WindowsXP(IMultiLanguage2) ICU".$ICULatestVersion, + "operationIs"=>"code point", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>"Not Using Data Files", + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected -my $p = $ICUPathLatest."/convperf/$WindowsPlatform/Release/convperf.exe"; +my $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/convperf/$WindowsPlatform/Release/convperf.exe"; my $tests = { - "UTF-8 From Unicode", ["$p TestWinANSI_UTF8_FromUnicode" , "$p TestICU_UTF8_FromUnicode" ], - "UTF-8 To Unicode", ["$p TestWinANSI_UTF8_ToUnicode" , "$p TestICU_UTF8_ToUnicode" ], - #### - "ISO-8859-1 From Unicode", ["$p TestWinANSI_Latin1_FromUnicode" , "$p TestICU_Latin1_FromUnicode" ], - "ISO-8859-1 To Unicode", ["$p TestWinANSI_Latin1_ToUnicode" , "$p TestICU_Latin1_ToUnicode" ], - #### - "Shift-JIS From Unicode", ["$p TestWinANSI_SJIS_FromUnicode" , "$p TestICU_SJIS_FromUnicode" ], - "Shift-JIS To Unicode", ["$p TestWinANSI_SJIS_ToUnicode" , "$p TestICU_SJIS_ToUnicode" ], - #### - "EUC-JP From Unicode", ["$p TestWinANSI_EUCJP_FromUnicode" , "$p TestICU_EUCJP_FromUnicode" ], - "EUC-JP To Unicode", ["$p TestWinANSI_EUCJP_ToUnicode" , "$p TestICU_EUCJP_ToUnicode" ], - #### - "GB2312 From Unicode", ["$p TestWinANSI_GB2312_FromUnicode" , "$p TestICU_GB2312_FromUnicode" ], - "GB2312 To Unicode", ["$p TestWinANSI_GB2312_ToUnicode" , "$p TestICU_GB2312_ToUnicode" ], - }; + "UTF-8 From Unicode", ["$p,TestWinANSI_UTF8_FromUnicode" , "$p,TestICU_UTF8_FromUnicode" ], + "UTF-8 To Unicode", ["$p,TestWinANSI_UTF8_ToUnicode" , "$p,TestICU_UTF8_ToUnicode" ], + #### + "ISO-8859-1 From Unicode", ["$p,TestWinANSI_Latin1_FromUnicode" , "$p,TestICU_Latin1_FromUnicode" ], + "ISO-8859-1 To Unicode", ["$p,TestWinANSI_Latin1_ToUnicode" , "$p,TestICU_Latin1_ToUnicode" ], + #### + "Shift-JIS From Unicode", ["$p,TestWinANSI_SJIS_FromUnicode" , "$p,TestICU_SJIS_FromUnicode" ], + "Shift-JIS To Unicode", ["$p,TestWinANSI_SJIS_ToUnicode" , "$p,TestICU_SJIS_ToUnicode" ], + #### + "EUC-JP From Unicode", ["$p,TestWinANSI_EUCJP_FromUnicode" , "$p,TestICU_EUCJP_FromUnicode" ], + "EUC-JP To Unicode", ["$p,TestWinANSI_EUCJP_ToUnicode" , "$p,TestICU_EUCJP_ToUnicode" ], + #### + "GB2312 From Unicode", ["$p,TestWinANSI_GB2312_FromUnicode" , "$p,TestICU_GB2312_FromUnicode" ], + "GB2312 To Unicode", ["$p,TestWinANSI_GB2312_ToUnicode" , "$p,TestICU_GB2312_ToUnicode" ], +}; my $dataFiles = ""; diff --git a/icu4c/source/test/perf/convperf/convperf_iml.pl b/icu4c/source/test/perf/convperf/convperf_iml.pl index 6516434716..25bcf6de96 100755 --- a/icu4c/source/test/perf/convperf/convperf_iml.pl +++ b/icu4c/source/test/perf/convperf/convperf_iml.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines Corporation and +# * Copyright (c) 2002-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -15,47 +15,47 @@ use PerfFramework; # This test only works on Windows. if (!$OnWindows) { - print "This test only works on Windows.\n"; + print "This test only works on Windows.\n"; exit(1); } my $options = { - "title"=>"Conversion Performance: ICU".$ICULatestVersion." vs. WindowsXP IMultiLanguage Interface", - "headers"=>"WindowsXP(IMultiLanguage2) ICU".$ICULatestVersion, - "operationIs"=>"code point", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>"Not Using Data Files", - "outputDir"=>"../results" - }; + "title"=>"Conversion Performance: ICU".$ICULatestVersion." vs. WindowsXP IMultiLanguage Interface", + "headers"=>"WindowsXP(IMultiLanguage2) ICU".$ICULatestVersion, + "operationIs"=>"code point", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>"Not Using Data Files", + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected -my $p = $ICUPathLatest."/convperf/$WindowsPlatform/Release/convperf.exe"; +my $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/convperf/$WindowsPlatform/Release/convperf.exe"; my $tests = { - "UTF-8 From Unicode", ["$p TestWinIML2_UTF8_FromUnicode" , "$p TestICU_UTF8_FromUnicode" ], - "UTF-8 To Unicode", ["$p TestWinIML2_UTF8_ToUnicode" , "$p TestICU_UTF8_ToUnicode" ], - #### - "ISO-8859-1 From Unicode", ["$p TestWinIML2_Latin1_FromUnicode" , "$p TestICU_Latin1_FromUnicode" ], - "ISO-8859-1 To Unicode", ["$p TestWinIML2_Latin1_ToUnicode" , "$p TestICU_Latin1_ToUnicode" ], - #### - "Shift-JIS From Unicode", ["$p TestWinIML2_SJIS_FromUnicode" , "$p TestICU_SJIS_FromUnicode" ], - "Shift-JIS To Unicode", ["$p TestWinIML2_SJIS_ToUnicode" , "$p TestICU_SJIS_ToUnicode" ], - #### - "EUC-JP From Unicode", ["$p TestWinIML2_EUCJP_FromUnicode" , "$p TestICU_EUCJP_FromUnicode" ], - "EUC-JP To Unicode", ["$p TestWinIML2_EUCJP_ToUnicode" , "$p TestICU_EUCJP_ToUnicode" ], - #### - "GB2312 From Unicode", ["$p TestWinIML2_GB2312_FromUnicode" , "$p TestICU_GB2312_FromUnicode" ], - "GB2312 To Unicode", ["$p TestWinIML2_GB2312_ToUnicode" , "$p TestICU_GB2312_ToUnicode" ], - #### - "ISO2022KR From Unicode", ["$p TestWinIML2_ISO2022KR_FromUnicode", "$p TestICU_ISO2022KR_FromUnicode" ], - "ISO2022KR To Unicode", ["$p TestWinIML2_ISO2022KR_ToUnicode" , "$p TestICU_ISO2022KR_ToUnicode" ], - #### - "ISO2022JP From Unicode", ["$p TestWinIML2_ISO2022JP_FromUnicode", "$p TestICU_ISO2022JP_FromUnicode" ], - "ISO2022JP To Unicode", ["$p TestWinIML2_ISO2022JP_ToUnicode" , "$p TestICU_ISO2022JP_ToUnicode" ], - }; + "UTF-8 From Unicode", ["$p,TestWinIML2_UTF8_FromUnicode" , "$p,TestICU_UTF8_FromUnicode" ], + "UTF-8 To Unicode", ["$p,TestWinIML2_UTF8_ToUnicode" , "$p,TestICU_UTF8_ToUnicode" ], + #### + "ISO-8859-1 From Unicode", ["$p,TestWinIML2_Latin1_FromUnicode" , "$p,TestICU_Latin1_FromUnicode" ], + "ISO-8859-1 To Unicode", ["$p,TestWinIML2_Latin1_ToUnicode" , "$p,TestICU_Latin1_ToUnicode" ], + #### + "Shift-JIS From Unicode", ["$p,TestWinIML2_SJIS_FromUnicode" , "$p,TestICU_SJIS_FromUnicode" ], + "Shift-JIS To Unicode", ["$p,TestWinIML2_SJIS_ToUnicode" , "$p,TestICU_SJIS_ToUnicode" ], + #### + "EUC-JP From Unicode", ["$p,TestWinIML2_EUCJP_FromUnicode" , "$p,TestICU_EUCJP_FromUnicode" ], + "EUC-JP To Unicode", ["$p,TestWinIML2_EUCJP_ToUnicode" , "$p,TestICU_EUCJP_ToUnicode" ], + #### + "GB2312 From Unicode", ["$p,TestWinIML2_GB2312_FromUnicode" , "$p,TestICU_GB2312_FromUnicode" ], + "GB2312 To Unicode", ["$p,TestWinIML2_GB2312_ToUnicode" , "$p,TestICU_GB2312_ToUnicode" ], + #### + "ISO2022KR From Unicode", ["$p,TestWinIML2_ISO2022KR_FromUnicode", "$p,TestICU_ISO2022KR_FromUnicode" ], + "ISO2022KR To Unicode", ["$p,TestWinIML2_ISO2022KR_ToUnicode" , "$p,TestICU_ISO2022KR_ToUnicode" ], + #### + "ISO2022JP From Unicode", ["$p,TestWinIML2_ISO2022JP_FromUnicode", "$p,TestICU_ISO2022JP_FromUnicode" ], + "ISO2022JP To Unicode", ["$p,TestWinIML2_ISO2022JP_ToUnicode" , "$p,TestICU_ISO2022JP_ToUnicode" ], +}; my $dataFiles = ""; diff --git a/icu4c/source/test/perf/normperf/NormPerf.pl b/icu4c/source/test/perf/normperf/NormPerf.pl index ce2d2683f7..d673f1456f 100755 --- a/icu4c/source/test/perf/normperf/NormPerf.pl +++ b/icu4c/source/test/perf/normperf/NormPerf.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # ******************************************************************** -# * Copyright (c) 2002-2008, International Business Machines +# * Copyright (c) 2002-2013, International Business Machines # * Corporation and others. All Rights Reserved. # ******************************************************************** @@ -13,47 +13,47 @@ use lib '../perldriver'; use PerfFramework; my $options = { - "title"=>"Normalization performance: ICU ".$ICULatestVersion." vs. Win", - "headers"=>"Win ICU".$ICULatestVersion, - "operationIs"=>"code point", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>$CollationDataPath, - "outputDir"=>"../results" - }; + "title"=>"Normalization performance: ICU ".$ICULatestVersion." vs. Win", + "headers"=>"Win ICU".$ICULatestVersion, + "operationIs"=>"code point", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>$CollationDataPath, + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected -my $p = $ICUPathLatest."/normperf/$WindowsPlatform/Release/normperf.exe -b -u"; +my $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/normperf/$WindowsPlatform/Release/normperf.exe -b -u"; my $tests = { - "NFC_NFD_Text", ["$p TestWin_NFC_NFD_Text" , "$p TestICU_NFC_NFD_Text" ], - "NFC_NFC_Text", ["$p TestWin_NFC_NFC_Text" , "$p TestICU_NFC_NFC_Text" ], - "NFC_Orig_Text", ["$p TestWin_NFC_Orig_Text" , "$p TestICU_NFC_Orig_Text"], - "NFD_NFD_Text", ["$p TestWin_NFD_NFD_Text" , "$p TestICU_NFD_NFD_Text" ], - "NFD_NFC_Text", ["$p TestWin_NFD_NFC_Text" , "$p TestICU_NFD_NFC_Text" ], - "NFD_Orig_Text", ["$p TestWin_NFD_Orig_Text" , "$p TestICU_NFD_Orig_Text"] - }; + "NFC_NFD_Text", ["$p,TestWin_NFC_NFD_Text" , "$p,TestICU_NFC_NFD_Text" ], + "NFC_NFC_Text", ["$p,TestWin_NFC_NFC_Text" , "$p,TestICU_NFC_NFC_Text" ], + "NFC_Orig_Text", ["$p,TestWin_NFC_Orig_Text" , "$p,TestICU_NFC_Orig_Text"], + "NFD_NFD_Text", ["$p,TestWin_NFD_NFD_Text" , "$p,TestICU_NFD_NFD_Text" ], + "NFD_NFC_Text", ["$p,TestWin_NFD_NFC_Text" , "$p,TestICU_NFD_NFC_Text" ], + "NFD_Orig_Text", ["$p,TestWin_NFD_Orig_Text" , "$p,TestICU_NFD_Orig_Text"] +}; my $dataFiles = { - "", - [ - "TestNames_Asian.txt", - "TestNames_Chinese.txt", - "TestNames_Japanese.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", - "thesis.txt", - "vfear11a.txt", - ] - }; + "", + [ + "TestNames_Asian.txt", + "TestNames_Chinese.txt", + "TestNames_Japanese.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", + "thesis.txt", + "vfear11a.txt", + ] +}; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/normperf/NormPerf_r.pl b/icu4c/source/test/perf/normperf/NormPerf_r.pl index 085194a271..e1f8b1d68b 100755 --- a/icu4c/source/test/perf/normperf/NormPerf_r.pl +++ b/icu4c/source/test/perf/normperf/NormPerf_r.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines +# * Copyright (c) 2002-2013, International Business Machines # * Corporation and others. All Rights Reserved. # ******************************************************************** @@ -14,16 +14,16 @@ use lib '../perldriver'; use PerfFramework; my $options = { - "title"=>"Normalization performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"code point", - "timePerOperationIs"=>"Time per code point", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>$CollationDataPath, - "outputDir"=>"../results" - }; + "title"=>"Normalization performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", + "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, + "operationIs"=>"code point", + "timePerOperationIs"=>"Time per code point", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>$CollationDataPath, + "outputDir"=>"../results" +}; # programs @@ -31,56 +31,56 @@ my $p1; # Previous my $p2; # Latest if ($OnWindows) { - $p1 = $ICUPathPrevious."/normperf/$WindowsPlatform/Release/normperf.exe"; - $p2 = $ICUPathLatest."/normperf/$WindowsPlatform/Release/normperf.exe"; + $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/normperf/$WindowsPlatform/Release/normperf.exe"; + $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/normperf/$WindowsPlatform/Release/normperf.exe"; } else { - $p1 = $ICUPathPrevious."/normperf/normperf"; - $p2 = $ICUPathLatest."/normperf/normperf"; + $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."source/lib:".$ICUPrevious."source/tools/ctestfw ".$ICUPathPrevious."/normperf/normperf"; + $p2 = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/normperf/normperf"; } my $dataFiles = { - "", - [ - "TestNames_Asian.txt", - "TestNames_Chinese.txt", - "TestNames_Japanese.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", - "thesis.txt", - "vfear11a.txt", - ] - }; + "", + [ + "TestNames_Asian.txt", + "TestNames_Chinese.txt", + "TestNames_Japanese.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", + "thesis.txt", + "vfear11a.txt", + ] +}; my $tests = { - "NFC_NFD_Text", ["$p1 TestICU_NFC_NFD_Text" , "$p2 TestICU_NFC_NFD_Text" ], - "NFC_NFC_Text", ["$p1 TestICU_NFC_NFC_Text" , "$p2 TestICU_NFC_NFC_Text" ], - "NFC_Orig_Text", ["$p1 TestICU_NFC_Orig_Text" , "$p2 TestICU_NFC_Orig_Text"], - "NFD_NFD_Text", ["$p1 TestICU_NFD_NFD_Text" , "$p2 TestICU_NFD_NFD_Text" ], - "NFD_NFC_Text", ["$p1 TestICU_NFD_NFC_Text" , "$p2 TestICU_NFD_NFC_Text" ], - "NFD_Orig_Text", ["$p1 TestICU_NFD_Orig_Text" , "$p2 TestICU_NFD_Orig_Text"], - ## - "QC_NFC_NFD_Text", ["$p1 TestQC_NFC_NFD_Text" , "$p2 TestQC_NFC_NFD_Text" ], - "QC_NFC_NFC_Text", ["$p1 TestQC_NFC_NFC_Text" , "$p2 TestQC_NFC_NFC_Text" ], - "QC_NFC_Orig_Text", ["$p1 TestQC_NFC_Orig_Text" , "$p2 TestQC_NFC_Orig_Text"], - "QC_NFD_NFD_Text", ["$p1 TestQC_NFD_NFD_Text" , "$p2 TestQC_NFD_NFD_Text" ], - "QC_NFD_NFC_Text", ["$p1 TestQC_NFD_NFC_Text" , "$p2 TestQC_NFD_NFC_Text" ], - "QC_NFD_Orig_Text", ["$p1 TestQC_NFD_Orig_Text" , "$p2 TestQC_NFD_Orig_Text"], - ## - "IsNormalized_NFC_NFD_Text", ["$p1 TestIsNormalized_NFC_NFD_Text" , "$p2 TestIsNormalized_NFC_NFD_Text" ], - "IsNormalized_NFC_NFC_Text", ["$p1 TestIsNormalized_NFC_NFC_Text" , "$p2 TestIsNormalized_NFC_NFC_Text" ], - "IsNormalized_NFC_Orig_Text", ["$p1 TestIsNormalized_NFC_Orig_Text" , "$p2 TestIsNormalized_NFC_Orig_Text"], - "IsNormalized_NFD_NFD_Text", ["$p1 TestIsNormalized_NFD_NFD_Text" , "$p2 TestIsNormalized_NFD_NFD_Text" ], - "IsNormalized_NFD_NFC_Text", ["$p1 TestIsNormalized_NFD_NFC_Text" , "$p2 TestIsNormalized_NFD_NFC_Text" ], - "IsNormalized_NFD_Orig_Text", ["$p1 TestIsNormalized_NFD_Orig_Text" , "$p2 TestIsNormalized_NFD_Orig_Text"] - }; + "NFC_NFD_Text", ["$p1,TestICU_NFC_NFD_Text" , "$p2,TestICU_NFC_NFD_Text" ], + "NFC_NFC_Text", ["$p1,TestICU_NFC_NFC_Text" , "$p2,TestICU_NFC_NFC_Text" ], + "NFC_Orig_Text", ["$p1,TestICU_NFC_Orig_Text" , "$p2,TestICU_NFC_Orig_Text"], + "NFD_NFD_Text", ["$p1,TestICU_NFD_NFD_Text" , "$p2,TestICU_NFD_NFD_Text" ], + "NFD_NFC_Text", ["$p1,TestICU_NFD_NFC_Text" , "$p2,TestICU_NFD_NFC_Text" ], + "NFD_Orig_Text", ["$p1,TestICU_NFD_Orig_Text" , "$p2,TestICU_NFD_Orig_Text"], + ## + "QC_NFC_NFD_Text", ["$p1,TestQC_NFC_NFD_Text" , "$p2,TestQC_NFC_NFD_Text" ], + "QC_NFC_NFC_Text", ["$p1,TestQC_NFC_NFC_Text" , "$p2,TestQC_NFC_NFC_Text" ], + "QC_NFC_Orig_Text", ["$p1,TestQC_NFC_Orig_Text" , "$p2,TestQC_NFC_Orig_Text"], + "QC_NFD_NFD_Text", ["$p1,TestQC_NFD_NFD_Text" , "$p2,TestQC_NFD_NFD_Text" ], + "QC_NFD_NFC_Text", ["$p1,TestQC_NFD_NFC_Text" , "$p2,TestQC_NFD_NFC_Text" ], + "QC_NFD_Orig_Text", ["$p1,TestQC_NFD_Orig_Text" , "$p2,TestQC_NFD_Orig_Text"], + ## + "IsNormalized_NFC_NFD_Text", ["$p1,TestIsNormalized_NFC_NFD_Text" , "$p2,TestIsNormalized_NFC_NFD_Text" ], + "IsNormalized_NFC_NFC_Text", ["$p1,TestIsNormalized_NFC_NFC_Text" , "$p2,TestIsNormalized_NFC_NFC_Text" ], + "IsNormalized_NFC_Orig_Text", ["$p1,TestIsNormalized_NFC_Orig_Text" , "$p2,TestIsNormalized_NFC_Orig_Text"], + "IsNormalized_NFD_NFD_Text", ["$p1,TestIsNormalized_NFD_NFD_Text" , "$p2,TestIsNormalized_NFD_NFD_Text" ], + "IsNormalized_NFD_NFC_Text", ["$p1,TestIsNormalized_NFD_NFC_Text" , "$p2,TestIsNormalized_NFD_NFC_Text" ], + "IsNormalized_NFD_Orig_Text", ["$p1,TestIsNormalized_NFD_Orig_Text" , "$p2,TestIsNormalized_NFD_Orig_Text"] +}; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/perldriver/Common.pl b/icu4c/source/test/perf/perldriver/Common.pl.template similarity index 82% rename from icu4c/source/test/perf/perldriver/Common.pl rename to icu4c/source/test/perf/perldriver/Common.pl.template index 2976079359..60b83664e4 100755 --- a/icu4c/source/test/perf/perldriver/Common.pl +++ b/icu4c/source/test/perf/perldriver/Common.pl.template @@ -1,20 +1,18 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2010, International Business Machines Corporation and +# * Copyright (c) 2010-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** # Settings by user $ICULatestVersion = ""; # Change to respective version number $ICUPreviousVersion = ""; # Change to respective version number -$ICUPrevious2Version = ""; # Change to respective version number $PerformanceDataPath = ""; #Change to Performance Data Path $ICULatest = ""; # Change to path of latest ICU (e.g. /home/user/Desktop/icu-4.0) $ICUPrevious = ""; # Change to path of previous ICU -$ICUPrevious2 = ""; # Change to path of ICU before previous release $OnWindows = 0; # Change to 1 if on Windows $Windows64 = 0; # Change to 1 if on Windows and running 64 bit @@ -26,7 +24,6 @@ $UDHRDataPath = $PerformanceDataPath."/udhr"; # UDHR Performance Da $ICUPathLatest = $ICULatest."/source/test/perf"; $ICUPathPrevious = $ICUPrevious."/source/test/perf"; -$ICUPathPrevious2 = $ICUPrevious."/source/test/perf"; $WindowsPlatform = ""; if ($Windows64) { diff --git a/icu4c/source/test/perf/perldriver/PerfFramework.pm b/icu4c/source/test/perf/perldriver/PerfFramework.pm index 96ba82c0e7..353dd9cd34 100644 --- a/icu4c/source/test/perf/perldriver/PerfFramework.pm +++ b/icu4c/source/test/perf/perldriver/PerfFramework.pm @@ -1,7 +1,7 @@ #!/usr/local/bin/perl # *********************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines Corporation +# * Copyright (c) 2002-2013, International Business Machines Corporation # * and others. All Rights Reserved. # *********************************************************************** @@ -36,14 +36,14 @@ sub setupOptions { if($options{"passes"}) { $NUMPASSES = $options{"passes"}; } - + if($options{"dataDir"}) { $DATADIR = $options{"dataDir"}; } # Added by Doug if ($options{"iterations"}) { - $ITERATIONS = $options{"iterations"}; + $ITERATIONS = $options{"iterations"}; } } @@ -68,19 +68,19 @@ sub runTests { if (%datafiles) { foreach $locale (sort keys %datafiles ) { foreach $data (@{ $datafiles{$locale} }) { - closeTable; - my $locdata = ""; - if(!($locale eq "")) { - $locdata = "Locale: $locale
"; - } - $locdata .= "Datafile: $data
"; - startTest($locdata); + closeTable; + my $locdata = ""; + if(!($locale eq "")) { + $locdata = "Locale: $locale
"; + } + $locdata .= "Datafile: $data
"; + startTest($locdata); - if($DATADIR) { - compareLoop ($tests, $locale, $DATADIR."/".$data); - } else { - compareLoop ($tests, $locale, $data); - } + if($DATADIR) { + compareLoop ($tests, $locale, $DATADIR."/".$data); + } else { + compareLoop ($tests, $locale, $data); + } } } } else { @@ -102,7 +102,7 @@ sub compareLoop { if($datafile) { $locAndData .= " -f $datafile"; } - + my $args; my ($i, $j, $aref); foreach $i ( sort keys %tests ) { @@ -118,14 +118,14 @@ sub compareLoop { for $j ( 0 .. $#{$aref} ) { # first we calibrate. Use time from somewhere # first test is used for calibration - ($program, @argsAndTest) = split(/\ /, @{ $tests{$i} }[$j]); + ($program, @argsAndTest) = split(/,/, @{ $tests{$i} }[$j]); #Modified by Doug my $commandLine; if ($ITERATIONS) { - $commandLine = "$program -i $ITERATIONS -p $NUMPASSES $locAndData @argsAndTest"; + $commandLine = "$program -i $ITERATIONS -p $NUMPASSES $locAndData @argsAndTest"; } else { - $commandLine = "$program -t $TIME -p $NUMPASSES $locAndData @argsAndTest"; - } + $commandLine = "$program -t $TIME -p $NUMPASSES $locAndData @argsAndTest"; + } #my $commandLine = "$program -i 5 -p $NUMPASSES $locAndData @argsAndTest"; my @res = measure1($commandLine); store("$i, $program @argsAndTest", @res); @@ -134,9 +134,8 @@ sub compareLoop { push(@noopers, shift(@res)); my @data = @{ shift(@res) }; if($#res >= 0) { - push(@noevents, shift(@res)); - } - + push(@noevents, shift(@res)); + } shift(@data) if (@data > 1); # discard first run diff --git a/icu4c/source/test/perf/strsrchperf/StrSrchPerf_r.pl b/icu4c/source/test/perf/strsrchperf/StrSrchPerf_r.pl index ea7b082dcb..0d5cb5e3a3 100644 --- a/icu4c/source/test/perf/strsrchperf/StrSrchPerf_r.pl +++ b/icu4c/source/test/perf/strsrchperf/StrSrchPerf_r.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2008, International Business Machines +# * Copyright (c) 2008-2013, International Business Machines # * Corporation and others. All Rights Reserved. # ******************************************************************** @@ -34,12 +34,12 @@ my $p1; # Previous my $p2; # Latest if ($OnWindows) { - $p1 = $ICUPathPrevious . "/strsrchperf/$WindowsPlatform/Release/strsrchperf.exe -b"; - $p2 = $ICUPathLatest . "/strsrchperf/$WindowsPlatform/Release/strsrchperf.exe -b"; + $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious . "/strsrchperf/$WindowsPlatform/Release/strsrchperf.exe -b"; + $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest . "/strsrchperf/$WindowsPlatform/Release/strsrchperf.exe -b"; } else { - $p1 = $ICUPathPrevious . "/strsrchperf/strsrchperf -b"; - $p2 = $ICUPathLatest . "/strsrchperf/strsrchperf -b"; + $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."source/lib:".$ICUPrevious."source/tools/ctestfw ".$ICUPathPrevious . "/strsrchperf/strsrchperf -b"; + $p2 = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest . "/strsrchperf/strsrchperf -b"; } my $dataFiles = { diff --git a/icu4c/source/test/perf/ubrkperf/UBrkPerf.pl b/icu4c/source/test/perf/ubrkperf/UBrkPerf.pl deleted file mode 100755 index 0fdf71b288..0000000000 --- a/icu4c/source/test/perf/ubrkperf/UBrkPerf.pl +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/perl -# ******************************************************************** -# * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines Corporation and -# * others. All Rights Reserved. -# ******************************************************************** - -#use strict; - -require "../perldriver/Common.pl"; - -use lib '../perldriver'; - -use PerfFramework; - -my $options = { - "title"=>"BreakIterator performance regression (ICU ".$ICUPrevious2Version.", ".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPrevious2Version." ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"code point", - "eventIs"=>"break", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>$CollationDataPath, - "outputDir"=>"../results" - }; - -# programs -# tests will be done for all the programs. Results will be stored and connected -my $m1 = "-- -m char"; -my $m2 = "-- -m word"; -my $m3 = "-- -m line"; -my $m4 = "-- -m sentence"; - -my $m; - -if(@_ >= 0) { - $m = "-- -m ".shift; -} else { - $m = $m1; -} - -my $p1; # Before Previous -my $p2; # Previous -my $p3; # Latest - -if ($OnWindows) { - $p1 = $ICUPathPrevious2."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe"; - $p2 = $ICUPathPrevious."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe"; - $p3 = $ICUPathLatest."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe"; -} else { - $p1 = $ICUPathPrevious2."/ubrkperf/ubrkperf"; - $p2 = $ICUPathPrevious."/ubrkperf/ubrkperf"; - $p3 = $ICUPathLatest."/ubrkperf/ubrkperf"; -} - -my $dataFiles = { -"en", ["thesis.txt", - "2drvb10.txt", - "ulyss10.txt", - "nvsbl10.txt", - "vfear11a.txt", - "TestNames_Asian.txt", - "TestNames_Chinese.txt", - "TestNames_Japanese.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", -], -"th", ["TestNames_Thai.txt", "th18057.txt"] -}; - - -my $tests = { -"TestForwardChar", ["$p1 $m1 TestICUForward", "$p2 $m1 TestICUForward", "$p3 $m1 TestICUForward"], -"TestForwardWord", ["$p1 $m2 TestICUForward", "$p2 $m2 TestICUForward", "$p3 $m2 TestICUForward"], -"TestForwardLine", ["$p1 $m3 TestICUForward", "$p2 $m3 TestICUForward", "$p3 $m3 TestICUForward"], -"TestForwardSentence", ["$p1 $m4 TestICUForward", "$p2 $m4 TestICUForward", "$p3 $m4 TestICUForward"], - -"TestIsBoundChar", ["$p1 $m1 TestICUIsBound", "$p2 $m1 TestICUIsBound", "$p3 $m1 TestICUIsBound"], -"TestIsBoundWord", ["$p1 $m2 TestICUIsBound", "$p2 $m2 TestICUIsBound", "$p3 $m2 TestICUIsBound"], -"TestIsBoundLine", ["$p1 $m3 TestICUIsBound", "$p2 $m3 TestICUIsBound", "$p3 $m3 TestICUIsBound"], -"TestIsBoundSentence", ["$p1 $m4 TestICUIsBound", "$p2 $m4 TestICUIsBound", "$p3 $m4 TestICUIsBound"], - -}; - -runTests($options, $tests, $dataFiles); - - diff --git a/icu4c/source/test/perf/ubrkperf/UBrkPerf_r.pl b/icu4c/source/test/perf/ubrkperf/UBrkPerf_r.pl index 6edffb3097..0c2adf2e81 100755 --- a/icu4c/source/test/perf/ubrkperf/UBrkPerf_r.pl +++ b/icu4c/source/test/perf/ubrkperf/UBrkPerf_r.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # ******************************************************************** -# * Copyright (c) 2002-2008, International Business Machines +# * Copyright (c) 2002-2013, International Business Machines # * Corporation and others. All Rights Reserved. # ******************************************************************** @@ -13,16 +13,16 @@ use lib '../perldriver'; use PerfFramework; my $options = { - "title"=>"BreakIterator performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"code point", - "eventIs"=>"break", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>$CollationDataPath, - "outputDir"=>"../results" - }; + "title"=>"BreakIterator performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", + "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, + "operationIs"=>"code point", + "eventIs"=>"break", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>$CollationDataPath, + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected @@ -43,42 +43,51 @@ my $p1; # Previous my $p2; # Latest if ($OnWindows) { - $p1 = $ICUPathPrevious."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe"; - $p2 = $ICUPathLatest."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe"; + $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe"; + $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe"; } else { - $p1 = $ICUPathPrevious."/ubrkperf/ubrkperf"; - $p2 = $ICUPathLatest."/ubrkperf/ubrkperf"; + $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."source/lib:".$ICUPrevious."source/tools/ctestfw ".$ICUPathPrevious."/ubrkperf/ubrkperf"; + $p2 = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/ubrkperf/ubrkperf"; } my $dataFiles = { -"en", [ - "TestNames_Asian.txt", - "TestNames_Chinese.txt", - "TestNames_Japanese.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", -], -"th", ["TestNames_Thai.txt", "th18057.txt"] + "en", + [ + "thesis.txt", + "2drvb10.txt", + "ulyss10.txt", + "nvsbl10.txt", + "vfear11a.txt", + "TestNames_Asian.txt", + "TestNames_Chinese.txt", + "TestNames_Japanese.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", + ], + "th", + [ + "TestNames_Thai.txt", + "th18057.txt" + ] }; -my $tests = { -"TestForwardChar", ["$p1 $m1 TestICUForward", "$p2 $m1 TestICUForward"], -"TestForwardWord", ["$p1 $m2 TestICUForward", "$p2 $m2 TestICUForward"], -"TestForwardLine", ["$p1 $m3 TestICUForward", "$p2 $m3 TestICUForward"], -"TestForwardSentence", ["$p1 $m4 TestICUForward", "$p2 $m4 TestICUForward"], - -"TestIsBoundChar", ["$p1 $m1 TestICUIsBound", "$p2 $m1 TestICUIsBound"], -"TestIsBoundWord", ["$p1 $m2 TestICUIsBound", "$p2 $m2 TestICUIsBound"], -"TestIsBoundLine", ["$p1 $m3 TestICUIsBound", "$p2 $m3 TestICUIsBound"], -"TestIsBoundSentence", ["$p1 $m4 TestICUIsBound", "$p2 $m4 TestICUIsBound"], +my $tests = { + "TestForwardChar", ["$p1,$m1,TestICUForward", "$p2,$m1,TestICUForward"], + "TestForwardWord", ["$p1,$m2,TestICUForward", "$p2,$m2,TestICUForward"], + "TestForwardLine", ["$p1,$m3,TestICUForward", "$p2,$m3,TestICUForward"], + "TestForwardSentence", ["$p1,$m4,TestICUForward", "$p2,$m4,TestICUForward"], + "TestIsBoundChar", ["$p1,$m1,TestICUIsBound", "$p2,$m1,TestICUIsBound"], + "TestIsBoundWord", ["$p1,$m2,TestICUIsBound", "$p2,$m2,TestICUIsBound"], + "TestIsBoundLine", ["$p1,$m3,TestICUIsBound", "$p2,$m3,TestICUIsBound"], + "TestIsBoundSentence", ["$p1,$m4,TestICUIsBound", "$p2,$m4,TestICUIsBound"], }; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/unisetperf/unisetperf.pl b/icu4c/source/test/perf/unisetperf/unisetperf.pl index 5e984c6fad..907095788e 100755 --- a/icu4c/source/test/perf/unisetperf/unisetperf.pl +++ b/icu4c/source/test/perf/unisetperf/unisetperf.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2005-2008, International Business Machines Corporation and +# * Copyright (c) 2005-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -14,73 +14,76 @@ use lib '../perldriver'; use PerfFramework; my $options = { - "title"=>"UnicodeSet span()/contains() performance", - "headers"=>"Bv Bv0", - "operationIs"=>"tested Unicode code point", - "passes"=>"3", - "time"=>"2", - #"outputType"=>"HTML", - "dataDir"=>$UDHRDataPath, - "outputDir"=>"../results" - }; + "title"=>"UnicodeSet span()/contains() performance", + "headers"=>"Bv Bv0", + "operationIs"=>"tested Unicode code point", + "passes"=>"3", + "time"=>"2", + #"outputType"=>"HTML", + "dataDir"=>$UDHRDataPath, + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected my $p; if ($OnWindows) { - $p = $ICUPathLatest."/unisetperf/$WindowsPlatform/Release/unisetperf.exe"; + $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/unisetperf/$WindowsPlatform/Release/unisetperf.exe"; } else { - $p = $ICUPathLatest."/unisetperf/unisetperf"; + $p = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/unisetperf/unisetperf"; } -my $pc = "$p Contains"; -my $p16 = "$p SpanUTF16"; -my $p8 = "$p SpanUTF8"; my $tests = { - "Contains", ["$pc --type Bv", - "$pc --type Bv0" - ], - "SpanUTF16", ["$p16 --type Bv", - "$p16 --type Bv0" - ] - }; + "Contains", + [ + "$p,Contains --type Bv", + "$p,Contains --type Bv0" + ], + "SpanUTF16", + [ + "$p,SpanUTF16 --type Bv", + "$p,SpanUTF16 --type Bv0" + ] +}; my $dataFiles = { - "", - [ - "udhr_eng.txt", - "udhr_deu_1996.txt", - "udhr_fra.txt", - "udhr_rus.txt", - "udhr_tha.txt", - "udhr_jpn.txt", - "udhr_cmn_hans.txt", - "udhr_cmn_hant.txt", - "udhr_jpn.html" - ] - }; + "", + [ + "udhr_eng.txt", + "udhr_deu_1996.txt", + "udhr_fra.txt", + "udhr_rus.txt", + "udhr_tha.txt", + "udhr_jpn.txt", + "udhr_cmn_hans.txt", + "udhr_cmn_hant.txt", + "udhr_jpn.html" + ] +}; runTests($options, $tests, $dataFiles); $options = { - "title"=>"UnicodeSet span()/contains() performance", - "headers"=>"Bv BvF Bvp BvpF L Bvl", - "operationIs"=>"tested Unicode code point", - "passes"=>"3", - "time"=>"2", - #"outputType"=>"HTML", - "dataDir"=>$UDHRDataPath, - "outputDir"=>"../results" - }; + "title"=>"UnicodeSet span()/contains() performance", + "headers"=>"Bv BvF Bvp BvpF L Bvl", + "operationIs"=>"tested Unicode code point", + "passes"=>"3", + "time"=>"2", + #"outputType"=>"HTML", + "dataDir"=>$UDHRDataPath, + "outputDir"=>"../results" +}; $tests = { - "SpanUTF8", ["$p8 --type Bv", - "$p8 --type BvF", - "$p8 --type Bvp", - "$p8 --type BvpF", - "$p8 --type L", - "$p8 --type Bvl" - ] - }; + "SpanUTF8", + [ + "$p,SpanUTF8 --type Bv", + "$p,SpanUTF8 --type BvF", + "$p,SpanUTF8 --type Bvp", + "$p,SpanUTF8 --type BvpF", + "$p,SpanUTF8 --type L", + "$p,SpanUTF8 --type Bvl" + ] +}; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/usetperf/UsetPerf.pl b/icu4c/source/test/perf/usetperf/UsetPerf.pl index a60a526b20..6b7073a2b2 100755 --- a/icu4c/source/test/perf/usetperf/UsetPerf.pl +++ b/icu4c/source/test/perf/usetperf/UsetPerf.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2005-2008, International Business Machines Corporation and +# * Copyright (c) 2005-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -16,41 +16,40 @@ use PerfFramework; my $options = { - "title"=>"Uset performance: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"unicode string", - "passes"=>"1", - "time"=>"2", - #"outputType"=>"HTML", - "dataDir"=>"Not Using Data Files", - "outputDir"=>"../results" - }; + "title"=>"Uset performance: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", + "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, + "operationIs"=>"unicode string", + "passes"=>"1", + "time"=>"2", + #"outputType"=>"HTML", + "dataDir"=>"Not Using Data Files", + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected my $p1, $p2; if ($OnWindows) { - $p1 = $ICUPathPrevious."/usetperf/$WindowsPlatform/Release/usetperf.exe"; - $p2 = $ICUPathLatest."/usetperf/$WindowsPlatform/Release/usetperf.exe"; + $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/usetperf/$WindowsPlatform/Release/usetperf.exe"; + $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/usetperf/$WindowsPlatform/Release/usetperf.exe"; } else { - $p1 = $ICUPathPrevious."/usetperf/usetperf"; - $p2 = $ICUPathLatest."/usetperf/usetperf"; - + $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."source/lib:".$ICUPrevious."source/tools/ctestfw ".$ICUPathPrevious."/usetperf/usetperf"; + $p2 = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/usetperf/usetperf"; } my $tests = { - "titlecase_letter/add", ["$p1 titlecase_letter_add", "$p2 titlecase_letter_add"], - "titlecase_letter/contains", ["$p1 titlecase_letter_contains", "$p2 titlecase_letter_contains"], - "titlecase_letter/iterator", ["$p1 titlecase_letter_iterator", "$p2 titlecase_letter_iterator"], - "unassigned/add", ["$p1 unassigned_add", "$p2 unassigned_add"], - "unassigned/contains", ["$p1 unassigned_contains", "$p2 unassigned_contains"], - "unassigned/iterator", ["$p1 unassigned_iterator", "$p2 unassigned_iterator"], - "pattern1", ["$p1 pattern1", "$p2 pattern1"], - "pattern2", ["$p1 pattern2", "$p2 pattern2"], - "pattern3", ["$p1 pattern3", "$p2 pattern3"], - }; + "titlecase_letter/add", ["$p1,titlecase_letter_add", "$p2,titlecase_letter_add"], + "titlecase_letter/contains", ["$p1,titlecase_letter_contains", "$p2,titlecase_letter_contains"], + "titlecase_letter/iterator", ["$p1,titlecase_letter_iterator", "$p2,titlecase_letter_iterator"], + "unassigned/add", ["$p1,unassigned_add", "$p2,unassigned_add"], + "unassigned/contains", ["$p1,unassigned_contains", "$p2,unassigned_contains"], + "unassigned/iterator", ["$p1,unassigned_iterator", "$p2,unassigned_iterator"], + "pattern1", ["$p1,pattern1", "$p2,pattern1"], + "pattern2", ["$p1,pattern2", "$p2,pattern2"], + "pattern3", ["$p1,pattern3", "$p2,pattern3"], +}; my $dataFiles = { - }; +}; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/ustrperf/StringPerf.pl b/icu4c/source/test/perf/ustrperf/StringPerf.pl index 0bcdaa0b4f..1905c84b3f 100755 --- a/icu4c/source/test/perf/ustrperf/StringPerf.pl +++ b/icu4c/source/test/perf/ustrperf/StringPerf.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2003-2008, International Business Machines Corporation and +# * Copyright (c) 2003-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -15,59 +15,59 @@ 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" - }; + "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 = $ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -l -u"; + $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -l -u"; } else { - $p = $ICUPathLatest."/ustrperf/stringperf -l -u"; + $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" ], + "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", - ] - }; + "", + [ + "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); diff --git a/icu4c/source/test/perf/ustrperf/StringPerf_r.pl b/icu4c/source/test/perf/ustrperf/StringPerf_r.pl index f21c366266..c485b2a00a 100755 --- a/icu4c/source/test/perf/ustrperf/StringPerf_r.pl +++ b/icu4c/source/test/perf/ustrperf/StringPerf_r.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2002-2008, International Business Machines +# * Copyright (c) 2002-2013, International Business Machines # * Corporation and others. All Rights Reserved. # ******************************************************************** @@ -14,15 +14,15 @@ require "../perldriver/Common.pl"; use PerfFramework; my $options = { - "title"=>"Unicode String performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"Unicode String", - "passes"=>"10", - "time"=>"5", - #"outputType"=>"HTML", - "dataDir"=>$CollationDataPath, - "outputDir"=>"../results" - }; + "title"=>"Unicode String performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", + "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, + "operationIs"=>"Unicode String", + "passes"=>"10", + "time"=>"5", + #"outputType"=>"HTML", + "dataDir"=>$CollationDataPath, + "outputDir"=>"../results" +}; # programs @@ -30,47 +30,47 @@ my $p1; # Previous my $p2; # Latest if ($OnWindows) { - $p1 = $ICUPathPrevious."/ustrperf/$WindowsPlatform/Release/stringperf.exe -b -u"; # Previous - $p2 = $ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -b -u"; # Latest + $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/ustrperf/$WindowsPlatform/Release/stringperf.exe -b -u"; # Previous + $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/ustrperf/$WindowsPlatform/Release/stringperf.exe -b -u"; # Latest } else { - $p1 = $ICUPathPrevious."/ustrperf/stringperf -b -u"; # Previous - $p2 = $ICUPathLatest."/ustrperf/stringperf -b -u"; # Latest + $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."source/lib:".$ICUPrevious."source/tools/ctestfw ".$ICUPathPrevious."/ustrperf/stringperf -b -u"; # Previous + $p2 = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/ustrperf/stringperf -b -u"; # Latest } my $dataFiles = { - "", - [ - "TestNames_Asian.txt", - "TestNames_Chinese.txt", - "TestNames_Japanese.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", - "thesis.txt", - "vfear11a.txt", - ] - }; + "", + [ + "TestNames_Asian.txt", + "TestNames_Chinese.txt", + "TestNames_Japanese.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", + "thesis.txt", + "vfear11a.txt", + ] +}; my $tests = { -"Object Construction(empty string)", ["$p1 TestCtor" , "$p2 TestCtor" ], -"Object Construction(single char)", ["$p1 TestCtor1" , "$p2 TestCtor1" ], -"Object Construction(another string)", ["$p1 TestCtor2" , "$p2 TestCtor2" ], -"Object Construction(string literal)", ["$p1 TestCtor3" , "$p2 TestCtor3" ], -"String Assignment(helper)", ["$p1 TestAssign" , "$p2 TestAssign" ], -"String Assignment(string literal)", ["$p1 TestAssign1" , "$p2 TestAssign1" ], -"String Assignment(another string)", ["$p1 TestAssign2" , "$p2 TestAssign2" ], -"Get String or Character", ["$p1 TestGetch" , "$p2 TestGetch" ], -"Concatenation", ["$p1 TestCatenate" , "$p2 TestCatenate" ], -"String Scanning(char)", ["$p1 TestScan" , "$p2 TestScan" ], -"String Scanning(string)", ["$p1 TestScan1" , "$p2 TestScan1" ], -"String Scanning(char set)", ["$p1 TestScan2" , "$p2 TestScan2" ], + "Object Construction(empty string)", ["$p1,TestCtor" , "$p2,TestCtor" ], + "Object Construction(single char)", ["$p1,TestCtor1" , "$p2,TestCtor1" ], + "Object Construction(another string)", ["$p1,TestCtor2" , "$p2,TestCtor2" ], + "Object Construction(string literal)", ["$p1,TestCtor3" , "$p2,TestCtor3" ], + "String Assignment(helper)", ["$p1,TestAssign" , "$p2,TestAssign" ], + "String Assignment(string literal)", ["$p1,TestAssign1" , "$p2,TestAssign1" ], + "String Assignment(another string)", ["$p1,TestAssign2" , "$p2,TestAssign2" ], + "Get String or Character", ["$p1,TestGetch" , "$p2,TestGetch" ], + "Concatenation", ["$p1,TestCatenate" , "$p2,TestCatenate" ], + "String Scanning(char)", ["$p1,TestScan" , "$p2,TestScan" ], + "String Scanning(string)", ["$p1,TestScan1" , "$p2,TestScan1" ], + "String Scanning(char set)", ["$p1,TestScan2" , "$p2,TestScan2" ], }; diff --git a/icu4c/source/test/perf/utfperf/UtfPerf.pl b/icu4c/source/test/perf/utfperf/UtfPerf.pl index 5c70742384..8407923c45 100755 --- a/icu4c/source/test/perf/utfperf/UtfPerf.pl +++ b/icu4c/source/test/perf/utfperf/UtfPerf.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl # ******************************************************************** # * COPYRIGHT: -# * Copyright (c) 2005-2008, International Business Machines Corporation and +# * Copyright (c) 2005-2013, International Business Machines Corporation and # * others. All Rights Reserved. # ******************************************************************** @@ -14,15 +14,15 @@ use lib '../perldriver'; use PerfFramework; my $options = { - "title"=>"UTF performance: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"gb18030 encoding string", - "passes"=>"1", - "time"=>"2", - #"outputType"=>"HTML", - "dataDir"=>$ConversionDataPath, - "outputDir"=>"../results" - }; + "title"=>"UTF performance: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", + "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, + "operationIs"=>"gb18030 encoding string", + "passes"=>"1", + "time"=>"2", + #"outputType"=>"HTML", + "dataDir"=>$ConversionDataPath, + "outputDir"=>"../results" +}; # programs # tests will be done for all the programs. Results will be stored and connected @@ -30,30 +30,21 @@ my $p1; my $p2; if ($OnWindows) { - $p1 = $ICUPathPrevious."/utfperf/$WindowsPlatform/Release/utfperf.exe -e gb18030"; # Previous - $p2 = $ICUPathLatest."/utfperf/$WindowsPlatform/Release/utfperf.exe -e gb18030"; # Latest + $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/utfperf/$WindowsPlatform/Release/utfperf.exe -e gb18030"; # Previous + $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/utfperf/$WindowsPlatform/Release/utfperf.exe -e gb18030"; # Latest } else { - $p1 = $ICUPathPrevious."/utfperf/utfperf -e gb18030"; # Previous - $p2 = $ICUPathLatest."/utfperf/utfperf -e gb18030"; # Latest + $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."source/lib:".$ICUPrevious."source/tools/ctestfw ".$ICUPathPrevious."/utfperf/utfperf -e gb18030"; # Previous + $p2 = "LD_LIBRARY_PATH=".$ICULatest."source/lib:".$ICULatest."source/tools/ctestfw ".$ICUPathLatest."/utfperf/utfperf -e gb18030"; # Latest } my $tests = { - "Roundtrip", ["$p1 Roundtrip", "$p2 Roundtrip"], - "FromUnicode", ["$p1 FromUnicode", "$p2 FromUnicode"], - "FromUTF8", ["$p1 FromUTF8", "$p2 FromUTF8"], - #"UTF-8", ["$p UTF_8"], - #"UTF-8 small buffer", ["$p UTF_8_SB"], - #"SCSU", ["$p SCSU"], - #"SCSU small buffer", ["$p SCSU_SB"], - #"BOCU_1", ["$p BOCU_1"], - #"BOCU_1 small buffer", ["$p BOCU_1_SB"], - }; + "Roundtrip", ["$p1,Roundtrip", "$p2,Roundtrip"], + "FromUnicode", ["$p1,FromUnicode", "$p2,FromUnicode"], + "FromUTF8", ["$p1,FromUTF8", "$p2,FromUTF8"], +}; my $dataFiles = { - "", - [ - "xuzhimo.txt" - ] - }; + "", ["xuzhimo.txt"] +}; runTests($options, $tests, $dataFiles); diff --git a/icu4c/source/test/perf/utrie2perf/utrie2perf.pl b/icu4c/source/test/perf/utrie2perf/utrie2perf.pl deleted file mode 100755 index 5c70742384..0000000000 --- a/icu4c/source/test/perf/utrie2perf/utrie2perf.pl +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/perl -# ******************************************************************** -# * COPYRIGHT: -# * Copyright (c) 2005-2008, International Business Machines Corporation and -# * others. All Rights Reserved. -# ******************************************************************** - -#use strict; - -require "../perldriver/Common.pl"; - -use lib '../perldriver'; - -use PerfFramework; - -my $options = { - "title"=>"UTF performance: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")", - "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion, - "operationIs"=>"gb18030 encoding string", - "passes"=>"1", - "time"=>"2", - #"outputType"=>"HTML", - "dataDir"=>$ConversionDataPath, - "outputDir"=>"../results" - }; - -# programs -# tests will be done for all the programs. Results will be stored and connected -my $p1; -my $p2; - -if ($OnWindows) { - $p1 = $ICUPathPrevious."/utfperf/$WindowsPlatform/Release/utfperf.exe -e gb18030"; # Previous - $p2 = $ICUPathLatest."/utfperf/$WindowsPlatform/Release/utfperf.exe -e gb18030"; # Latest -} else { - $p1 = $ICUPathPrevious."/utfperf/utfperf -e gb18030"; # Previous - $p2 = $ICUPathLatest."/utfperf/utfperf -e gb18030"; # Latest -} - -my $tests = { - "Roundtrip", ["$p1 Roundtrip", "$p2 Roundtrip"], - "FromUnicode", ["$p1 FromUnicode", "$p2 FromUnicode"], - "FromUTF8", ["$p1 FromUTF8", "$p2 FromUTF8"], - #"UTF-8", ["$p UTF_8"], - #"UTF-8 small buffer", ["$p UTF_8_SB"], - #"SCSU", ["$p SCSU"], - #"SCSU small buffer", ["$p SCSU_SB"], - #"BOCU_1", ["$p BOCU_1"], - #"BOCU_1 small buffer", ["$p BOCU_1_SB"], - }; - -my $dataFiles = { - "", - [ - "xuzhimo.txt" - ] - }; - -runTests($options, $tests, $dataFiles);