• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/perl
2#  ********************************************************************
3#  * Copyright (C) 2016 and later: Unicode, Inc. and others.
4#  * License & terms of use: http://www.unicode.org/copyright.html#License
5#  ********************************************************************
6#  ********************************************************************
7#  * COPYRIGHT:
8#  * Copyright (c) 2005-2013, International Business Machines Corporation and
9#  * others. All Rights Reserved.
10#  ********************************************************************
11
12#use strict;
13
14use lib '../perldriver';
15
16require "../perldriver/Common.pl";
17
18use PerfFramework;
19
20my $options = {
21    "title"=>"Collation performance: ICU,POSIX,and Win",
22    "headers"=>"ICU POSIX WIN",
23    "operationIs"=>"unicode String",
24    "passes"=>"1",
25    "time"=>"2",
26    #"outputType"=>"HTML",
27    "dataDir"=>$CollationDataPath,
28    "outputDir"=>"../results"
29};
30
31my $p;
32if ($OnWindows) {
33    $p = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/collperf/$WindowsPlatform/Release/collperf.exe";
34} else {
35    $p = "LD_LIBRARY_PATH=".$ICULatest."/source/lib:".$ICULatest."/source/tools/ctestfw ".$ICUPathLatest."/collperf/collperf";
36}
37
38# programs
39# tests will be done for all the programs. Results will be stored and connected
40my $test;
41if ($OnWindows) {
42    $tests = {
43        "Key Gen null",  ["$p,TestIcu_KeyGen_null", "$p,TestPosix_KeyGen_null", "$p,TestWin_KeyGen_null"],
44        "qsort strcoll null",  ["$p,TestIcu_qsort_strcoll_null", "$p,TestPosix_qsort_strcoll_null", "$p,TestWin_qsort_CompareStringW_null"],
45        "qsort use key",  ["$p,TestIcu_qsort_usekey", "$p,TestPosix_qsort_usekey", "$p,TestWin_qsort_usekey"],
46        "Binary Search icu strcoll null",  ["$p,TestIcu_BinarySearch_strcoll_null", "$p,TestPosix_BinarySearch_strcoll_null", "$p,TestWin_BinarySearch_CompareStringW_null"],
47        "Binary Search icu use key",  ["$p,TestIcu_BinarySearch_usekey", "$p,TestPosix_BinarySearch_usekey", "$p,TestWin_BinarySearch_usekey"],
48        # These are the original test. They are commented out to so that the above test can run and compare certain aspects of collation.
49        #"Key Gen ICU null",  ["$p,TestIcu_KeyGen_null"],
50        #"Key Gen ICU len",  ["$p,TestIcu_KeyGen_len"],
51        #"Key Gen POSIX",  ["$p,TestPosix_KeyGen_null"],
52        #"Key Gen Win",  ["$p,TestWin_KeyGen_null"],
53        #"Iteration icu forward null",  ["$p,TestIcu_ForwardIter_null"],
54        #"Iteration icu forward len",  ["$p,TestIcu_ForwardIter_len"],
55        #"Iteration icu backward null",  ["$p,TestIcu_BackwardIter_null"],
56        #"Iteration icu backward len",  ["$p,TestIcu_BackwardIter_len"],
57        #"Iteration/all icu forward null",  ["$p,TestIcu_ForwardIter_all_null"],
58        #"Iteration/all icu forward len",  ["$p,TestIcu_ForwardIter_all_len"],
59        #"Iteration/all icu backward null",  ["$p,TestIcu_BackwardIter_all_null"],
60        #"Iteration/all icu backward len",  ["$p,TestIcu_BackwardIter_all_len"],
61        #"qsort icu strcoll null",  ["$p,TestIcu_qsort_strcoll_null"],
62        #"qsort icu strcoll len",  ["$p,TestIcu_qsort_strcoll_len"],
63        #"qsort icu use key",  ["$p,TestIcu_qsort_usekey"],
64        #"qsort posix strcoll null",  ["$p,TestPosix_qsort_strcoll_null"],
65        #"qsort posix use key",  ["$p,TestPosix_qsort_usekey"],
66        #"qsort win CompareStringW null",  ["$p,TestWin_qsort_CompareStringW_null"],
67        #"qsort win CompareStringW len",  ["$p,TestWin_qsort_CompareStringW_len"],
68        #"qsort win use key",  ["$p,TestWin_qsort_usekey"],
69        #"Binary Search icu strcoll null",  ["$p,TestIcu_BinarySearch_strcoll_null"],
70        #"Binary Search icu strcoll len",  ["$p,TestIcu_BinarySearch_strcoll_len"],
71        #"Binary Search icu use key",  ["$p,TestIcu_BinarySearch_usekey"],
72        #"Binary Search icu u_strcmp",  ["$p,TestIcu_BinarySearch_strcmp"],
73        #"Binary Search icu cmpCPO",  ["$p,TestIcu_BinarySearch_cmpCPO"],
74        #"Binary Search posix strcoll null",  ["$p,TestPosix_BinarySearch_strcoll_null"],
75        #"Binary Search posix use key",  ["$p,TestPosix_BinarySearch_usekey"],
76        #"Binary Search win CompareStringW null",  ["$p,TestWin_BinarySearch_CompareStringW_null"],
77        #"Binary Search win CompareStringW len",  ["$p,TestWin_BinarySearch_CompareStringW_len"],
78        #"Binary Search win use key",  ["$p,TestWin_BinarySearch_usekey"],
79        #"Binary Search win wcscmp",  ["$p,TestWin_BinarySearch_wcscmp"],
80    };
81} else {
82    $tests = {
83        "Key Gen null",  ["$p,TestIcu_KeyGen_null", "$p,TestPosix_KeyGen_null"],
84        "qsort strcoll null",  ["$p,TestIcu_qsort_strcoll_null", "$p,TestPosix_qsort_strcoll_null"],
85        "qsort use key",  ["$p,TestIcu_qsort_usekey", "$p,TestPosix_qsort_usekey"],
86        "Binary Search icu strcoll null",  ["$p,TestIcu_BinarySearch_strcoll_null", "$p,TestPosix_BinarySearch_strcoll_null"],
87        "Binary Search icu use key",  ["$p,TestIcu_BinarySearch_usekey", "$p,TestPosix_BinarySearch_usekey"],
88    };
89}
90
91my $dataFiles = {
92    "",
93    [
94        "TestNames_Asian.txt",
95        "TestNames_Chinese.txt",
96        "TestNames_Japanese.txt",
97        "TestNames_Japanese_h.txt",
98        "TestNames_Japanese_k.txt",
99        "TestNames_Korean.txt",
100        "TestNames_Latin.txt",
101        "TestNames_Russian.txt",
102        "TestNames_SerbianSH.txt",
103        "TestNames_SerbianSR.txt",
104        "TestNames_Simplified_Chinese.txt",
105        "TestNames_Thai.txt"
106    ]
107};
108
109runTests($options, $tests, $dataFiles);
110