blob: b20f0b8796e449d125221b53514d66e066263f2b [file] [log] [blame]
© 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