| #!/usr/bin/perl |
| # ******************************************************************** |
| # * COPYRIGHT: |
| # * Copyright (c) 2005-2013, International Business Machines Corporation and |
| # * others. All Rights Reserved. |
| # ******************************************************************** |
| |
| #use strict; |
| |
| use lib '../perldriver'; |
| |
| 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" |
| }; |
| |
| my $p; |
| if ($OnWindows) { |
| $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/collperf/$WindowsPlatform/Release/collperf.exe"; |
| } else { |
| $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"], |
| }; |
| } 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"], |
| }; |
| } |
| |
| 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" |
| ] |
| }; |
| |
| runTests($options, $tests, $dataFiles); |