| © 2016 and later: Unicode, Inc. and others. |
| License & terms of use: http://www.unicode.org/copyright.html |
| Copyright (C) 2012, International Business Machines Corporation and others. All Rights Reserved. |
| |
| README for ICU4J Performance Test |
| |
| This directory includes a number of performance tests. Most are |
| comparing ICU operations with built in Java functions. Many tests run |
| numerous iterations with a variety of locales. |
| |
| Several tests create .html output files that can be opened and viewed in a web browser. |
| |
| The collation test produces output in the terminal window. Some are executed |
| individually via command line and others run via an `ant` command. |
| |
| Note: Tests with "_r" in the name are obsolete tests that compared |
| versions of ICU4J with each other. These may be useful in the future, |
| but require reworking to locate, compile, and run different versions. |
| |
| |
| Note: To run the performance test for ICU4J as a part of continuous build, you will |
| need to set up Perl with the following modules: |
| a) Statistics/Distribution.pm |
| b) Statistics/Descriptive.pm |
| c) XML/LibXML.pm |
| |
| CONTINUOUS BUILD: |
| To run a set of performance tests defined in file perlftests.pl, use this command: |
| ant continuous-build |
| |
| Output is created in perf.xml. This output contains results comparing ICU and JDK for the |
| following operations |
| DateFmt-open |
| DateFmt-parse |
| NumFmt-open |
| NumFnt-parse |
| Collation in several locales |
| |
| COLLATION TESTS |
| The collation tests run only on the command line with tabular output: |
| perl collationperf.pl |& tee collation_output.txt |
| |
| |
| OTHER COMMAND LINE TESTS |
| Additional tests are run from the command line, each producing an HTML |
| output file with with the name "perf" followed by a timestamp of when |
| it was run. For example: |
| |
| "perf Jul 22 141434.html" |
| |
| Each result can be loaded for review in a browser. |
| |
| SETUP: |
| The environment variable PERL5LIB must be set as follows: |
| export PERL5LIB=`pwd` |
| |
| Then the command line is run for each as follows: |
| perl dateformatperf.pl |
| perl converterperf.pl |
| perl decimalformat.pl |
| perl normperf.pl |
| perl ucharacterperf.pl |
| perl unicodesetperf.pl |
| |
| |
| converterperf compares ICU Decoder and ICU Encoder with JDK versions for timing. |
| |
| decimalformatperf compares JDK with ICU in contruction, parsing, and |
| formatting in en_US and de_DE locales. |
| |
| normperf tests various normalization methods in both JKD and ICU usign |
| a variety of locales |
| |
| ucharacterperf compares JDK with ICU for character handling with |
| digits, numeric values, types of characters, casing, and other |
| attributes |
| |
| unicodesetperf compares UnicodeSet with HashSet with the following: |
| UnicodeSetAdd |
| HashSetAdd |
| UnicodSetContains |
| HashSetContains |
| UnicodeSetIterate |
| HashSetIterate |