1#!/usr/bin/perl
2#  ********************************************************************
3#  * COPYRIGHT:
4#  * © 2016 and later: Unicode, Inc. and others.
5#  * License & terms of use: http://www.unicode.org/copyright.html#License
6#  * Copyright (c) 2002-2007, International Business Machines
7#  * Corporation and others. All Rights Reserved.
8#  ********************************************************************
9
10use strict;
11
12#Assume we are running outside of the ICU4J source
13use lib 'svn-icu4j/src/com/ibm/icu/dev/test/perf/perldriver';
14
15use PerfFramework4j;
16
17#---------------------------------------------------------------------
18# Test class
19my $TESTCLASS = 'com.ibm.icu.dev.test.perf.NormalizerPerformanceTest';
20
21my $options = {
22	       "title"=>"Normalization performance regression (ICU4J 3.6 and 3.8)",
23	       "headers"=>"ICU4J36 ICU4J38",
24	       "operationIs"=>"code point",
25	       "timePerOperationIs"=>"Time per code point",
26	       "passes"=>"10",
27	       "time"=>"5",
28	       "outputType"=>"HTML",
29	       "dataDir"=>"C:\\svn-icu4j\\src\\com\\ibm\\icu\\dev\\test\\perf\\data\\collation",
30	       "outputDir"=>"svn-icu4j\\results_ICU4J"
31	      };
32
33# programs
34
35my $jvm1 = "java -cp svn-icu4j_3-6/classes $TESTCLASS -b -e UTF-8";
36my $jvm2 = "java -cp svn-icu4j/classes $TESTCLASS -b -e UTF-8";
37
38my $dataFiles = {
39		 "",
40		 [
41		  "TestNames_Asian.txt",
42		  "TestNames_Chinese.txt",
43		  "TestNames_Japanese.txt",
44		  "TestNames_Japanese_h.txt",
45		  "TestNames_Japanese_k.txt",
46		  "TestNames_Korean.txt",
47		  "TestNames_Latin.txt",
48		  "TestNames_SerbianSH.txt",
49		  "TestNames_SerbianSR.txt",
50		  "TestNames_Thai.txt",
51		  "Testnames_Russian.txt",
52#		  "th18057.txt",
53#		  "thesis.txt",
54#		  "vfear11a.txt",
55		 ]
56		};
57
58
59my $tests = {
60#	     "NFC_NFD_Text",  ["$jvm1 TestICU_NFC_NFD_Text"  ,  "$jvm2 TestICU_NFC_NFD_Text" ],
61	     "NFC_NFC_Text",  ["$jvm1 TestICU_NFC_NFC_Text"  ,  "$jvm2 TestICU_NFC_NFC_Text" ],
62	     "NFC_Orig_Text", ["$jvm1 TestICU_NFC_Orig_Text" ,  "$jvm2 TestICU_NFC_Orig_Text"],
63	     "NFD_NFD_Text",  ["$jvm1 TestICU_NFD_NFD_Text"  ,  "$jvm2 TestICU_NFD_NFD_Text" ],
64	     "NFD_NFC_Text",  ["$jvm1 TestICU_NFD_NFC_Text"  ,  "$jvm2 TestICU_NFD_NFC_Text" ],
65	     "NFD_Orig_Text", ["$jvm1 TestICU_NFD_Orig_Text" ,  "$jvm2 TestICU_NFD_Orig_Text"],
66	     ##
67	     "QC_NFC_NFD_Text",  ["$jvm1 TestQC_NFC_NFD_Text"  ,  "$jvm2 TestQC_NFC_NFD_Text" ],
68	     "QC_NFC_NFC_Text",  ["$jvm1 TestQC_NFC_NFC_Text"  ,  "$jvm2 TestQC_NFC_NFC_Text" ],
69	     "QC_NFC_Orig_Text", ["$jvm1 TestQC_NFC_Orig_Text" ,  "$jvm2 TestQC_NFC_Orig_Text"],
70	     "QC_NFD_NFD_Text",  ["$jvm1 TestQC_NFD_NFD_Text"  ,  "$jvm2 TestQC_NFD_NFD_Text" ],
71	     "QC_NFD_NFC_Text",  ["$jvm1 TestQC_NFD_NFC_Text"  ,  "$jvm2 TestQC_NFD_NFC_Text" ],
72	     "QC_NFD_Orig_Text", ["$jvm1 TestQC_NFD_Orig_Text" ,  "$jvm2 TestQC_NFD_Orig_Text"],
73	     ##
74	     "IsNormalized_NFC_NFD_Text",  ["$jvm1 TestIsNormalized_NFC_NFD_Text"  ,  "$jvm2 TestIsNormalized_NFC_NFD_Text" ],
75	     "IsNormalized_NFC_NFC_Text",  ["$jvm1 TestIsNormalized_NFC_NFC_Text"  ,  "$jvm2 TestIsNormalized_NFC_NFC_Text" ],
76	     "IsNormalized_NFC_Orig_Text", ["$jvm1 TestIsNormalized_NFC_Orig_Text" ,  "$jvm2 TestIsNormalized_NFC_Orig_Text"],
77	     "IsNormalized_NFD_NFD_Text",  ["$jvm1 TestIsNormalized_NFD_NFD_Text"  ,  "$jvm2 TestIsNormalized_NFD_NFD_Text" ],
78	     "IsNormalized_NFD_NFC_Text",  ["$jvm1 TestIsNormalized_NFD_NFC_Text"  ,  "$jvm2 TestIsNormalized_NFD_NFC_Text" ],
79	     "IsNormalized_NFD_Orig_Text", ["$jvm1 TestIsNormalized_NFD_Orig_Text" ,  "$jvm2 TestIsNormalized_NFD_Orig_Text"]
80	    };
81
82
83runTests($options, $tests, $dataFiles);
84
85
86