Home | History | Annotate | Download | only in perf-tests
      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 
     10 use strict;
     11 
     12 #Assume we are running outside of the ICU4J source
     13 use lib 'svn-icu4j/src/com/ibm/icu/dev/test/perf/perldriver';
     14 
     15 use PerfFramework4j;
     16 
     17 #---------------------------------------------------------------------
     18 # Test class
     19 my $TESTCLASS = 'com.ibm.icu.dev.test.perf.NormalizerPerformanceTest'; 
     20 
     21 my $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 
     35 my $jvm1 = "java -cp svn-icu4j_3-6/classes $TESTCLASS -b -e UTF-8";
     36 my $jvm2 = "java -cp svn-icu4j/classes $TESTCLASS -b -e UTF-8";
     37 
     38 my $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 
     59 my $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 
     83 runTests($options, $tests, $dataFiles);
     84 
     85 
     86