| 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. |