| Copyright (C) 2016 and later: Unicode, Inc. and others. | 
 | License & terms of use: http://www.unicode.org/copyright.html#License | 
 |  | 
 | Copyright (C) 2008-2013, International Business Machines | 
 | Corporation and others.  All Rights Reserved. | 
 |  | 
 | README for ICU4C Performance Test | 
 |  | 
 | Introduction: | 
 | The performance tests in ICU4C compares various aspects of ICU against previous versions of ICU, | 
 | Posix, and/or Windows.  Some tests only run on Windows and are labeled accordingly.All of the  | 
 | performance tests are driven by a perl-based script which calls the underlying C program and  | 
 | displays the statistical analysis of the test in an easy to read HTML web page.  Each test will | 
 | have its own web page. | 
 |  | 
 |  | 
 | Requirements: | 
 | The most up to date tests are in ICU 4.0 and later. In addition, most tests depend on data which are  | 
 | in a separate repository. | 
 |  | 
 | Data repository: | 
 | http://source.icu-project.org/repos/icu/data/trunk/test/perf | 
 | There are 3 folders in here: collation, conversion, and udr. | 
 |  | 
 |  | 
 | Running Performance Test: | 
 |  | 
 | 1) Checkout the current ICU and 2 previous versions (for proper regression testing) and the data | 
 |    into your local system. | 
 |  | 
 | 2) Do a general build on all the ICUs either through Visual Studios or with the Makefile. | 
 |  | 
 | 3) Build the ICU performance tests either through Visual Studios or with the Makefile. | 
 |    (The location of the performance test is: icu/source/test/perf) | 
 |  | 
 | 4) Go to perf/perldriver, copy Common.pl.template to Common.pl. | 
 |    In this file, you will need to set a few variables: | 
 |    a) ICU version numbers | 
 |    b) Path to the performance test data | 
 |    c) Path to the root directory of the different versions of ICU | 
 |    d) Whether or not you are running the test on Windows | 
 |    * The Path needs to be absolute | 
 |    * All other variables should be left as is | 
 |  | 
 | 5) Create a directory pref/results. All of the test result web pages will be | 
 |    stored in this directory. | 
 |  | 
 | 6) In the perf directory, there are several other directories for the various tests that can be run. | 
 |    (e.g. convperf (Conversion tests)). Go to each directory and execute the perl script for each test | 
 |    you want to run. (e.g. CharPerf_r.pl in CharPerf directory) | 
 |    * You only need to run the perl script from the latest ICU version.  The corresponding perl script  | 
 |      in the previous versions of ICU do not need to be run seperately. | 
 |  | 
 |  | 
 | Note: When running on Windows, cygwin is preferred. | 
 | Note: If a test needs to be run on Windows, a message will be displayed. | 
 | Note: After building the performance tests, it is a good idea to execute each C program to ensure that each | 
 |       test can run. (e.g. convperf.exe) | 
 | Note: To run the actual performance test, you will need to setup Perl with the following modules: | 
 |       a) Statistics/Distribution.pm | 
 |       b) Statistics/Descriptive.pm  | 
 | Note: Some tests take a while depending on the machine it is running on so a script to run each performance test's | 
 |       perl script might be helpful. | 
 | Note: The perl script is only used in one version of ICU. When you run regression tests, | 
 |       it is recommended to run the tests from the later version of ICU. |