• 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 (c) 2002-2013, International Business Machines
8#  * Corporation and others. All Rights Reserved.
9#  ********************************************************************
10
11#use strict;
12
13require "../perldriver/Common.pl";
14
15use lib '../perldriver';
16
17use PerfFramework;
18
19my $options = {
20    "title"=>"BreakIterator performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")",
21    "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion,
22    "operationIs"=>"code point",
23    "eventIs"=>"break",
24    "passes"=>"10",
25    "time"=>"5",
26    #"outputType"=>"HTML",
27    "dataDir"=>$CollationDataPath,
28    "outputDir"=>"../results"
29};
30
31# programs
32# tests will be done for all the programs. Results will be stored and connected
33my $m1 = "-- -m char";
34my $m2 = "-- -m word";
35my $m3 = "-- -m line";
36my $m4 = "-- -m sentence";
37
38my $m;
39
40if(@_ >= 0) {
41  $m = "-- -m ".shift;
42} else {
43  $m = $m1;
44}
45
46my $p1; # Previous
47my $p2; # Latest
48
49if ($OnWindows) {
50    $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe";
51    $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe";
52} else {
53    $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."/source/lib:".$ICUPrevious."/source/tools/ctestfw ".$ICUPathPrevious."/ubrkperf/ubrkperf";
54    $p2 = "LD_LIBRARY_PATH=".$ICULatest."/source/lib:".$ICULatest."/source/tools/ctestfw ".$ICUPathLatest."/ubrkperf/ubrkperf";
55}
56
57my $dataFiles = {
58    "en",
59    [
60        "thesis.txt",
61        "2drvb10.txt",
62        "ulyss10.txt",
63        "nvsbl10.txt",
64        "vfear11a.txt",
65        "TestNames_Asian.txt",
66        "TestNames_Chinese.txt",
67        "TestNames_Japanese.txt",
68        "TestNames_Japanese_h.txt",
69        "TestNames_Japanese_k.txt",
70        "TestNames_Korean.txt",
71        "TestNames_Latin.txt",
72        "TestNames_SerbianSH.txt",
73        "TestNames_SerbianSR.txt",
74        "TestNames_Thai.txt",
75        "Testnames_Russian.txt",
76    ],
77    "th",
78    [
79        "TestNames_Thai.txt",
80        "th18057.txt"
81    ]
82};
83
84
85my $tests = {
86    "TestForwardChar",      ["$p1,$m1,TestICUForward", "$p2,$m1,TestICUForward"],
87    "TestForwardWord",      ["$p1,$m2,TestICUForward", "$p2,$m2,TestICUForward"],
88    "TestForwardLine",      ["$p1,$m3,TestICUForward", "$p2,$m3,TestICUForward"],
89    "TestForwardSentence",  ["$p1,$m4,TestICUForward", "$p2,$m4,TestICUForward"],
90
91    "TestIsBoundChar",      ["$p1,$m1,TestICUIsBound", "$p2,$m1,TestICUIsBound"],
92    "TestIsBoundWord",      ["$p1,$m2,TestICUIsBound", "$p2,$m2,TestICUIsBound"],
93    "TestIsBoundLine",      ["$p1,$m3,TestICUIsBound", "$p2,$m3,TestICUIsBound"],
94    "TestIsBoundSentence",  ["$p1,$m4,TestICUIsBound", "$p2,$m4,TestICUIsBound"],
95};
96
97runTests($options, $tests, $dataFiles);
98
99
100