Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ICU performance test results. Maintained by ICU-TC

License

NotificationsYou must be signed in to change notification settings

unicode-org/icu-perf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

ICU performance test results. Maintained by ICU-TC.

Performance Test Methodology

The performance tests execution and time measurment is a layered process.

  • API invocation iteration: A performance test invocation for an API undertests iterates over the full test data and calls the API once for each testdata item. The test data item can be a character, word, line, or theentirety of the test data.
  • Loops: Calibration runs determine how many of the API invocation iterationscan be executed within a given time, typically 5 seconds. The resultingnumber is called loops.
  • Passes: Pre-defined number of performance test tries, typically ten passes.At each pass the API invocation iteration is executed in loops as often asdetermined by the calibration.

Example: ICU character property APIs such as isAlpha(), etc.

  • Test data: the test data for all ICU character property APIs are all codepoints from x0 to x10FFFF, i.e. 1,114,112 code points.Each API invocation iteration iterates 1,114,112 times and calls isAlpha()once at each iteration with the respective code point.
  • Loops: For illustration, let's assume that the calibration phase determinesthat the above 1,114,112 iterations can be repeated 1,600 times within5 seconds.
  • Passes: Each pass runs 1,600 loops of 1,114,112 iterations and records theexecution time of the 1,600 loops. If the number of passes is set to 10,we get 10 performance numbers.
  • Final calculation: The minimum number among the passes is selected anddivided by loops*iterations.In this example: "minimum pass"/(1,600 * 1,114,112). The result is the averageexecution time of one call of isAlpha() from the fastest pass.

Performance Test Charts

The performance tests are all run on Ubuntu and broken out by feature.

  • CharperfPerformance tests for character property APIs, cf. the charts.The measured time is for one call of the respective character property API.

  • UtfperfPerformance tests for Unicode converters: ucnv_fromUnicode(),ucnv_toUnicode(), ucnv_convertEx().The measured time is processing time of a codepoint in the input string.

  • UsetperfPerformance tests for Uniset APIs add(), contains(),UnicodeSetIterator::get().Time measured is relative to the size of the USet, which is small(containing U_TITLECASE_LETTER characters) or large (containingU_UNASSIGNED codepoints).Also tests UnicodeSet::applyPattern() for three pre-defined pattern ofdifferent complexity.

The following performance tests are additionally broken out by type of testdata processed.

Copyright & Licenses

Copyright © 2022-2024 Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries.

A CLA is required to contribute to this project - please refer to theCONTRIBUTING.md file (or start a Pull Request) for more information.

The contents of this repository are governed by the UnicodeTerms of Use and are released underLICENSE.

About

ICU performance test results. Maintained by ICU-TC

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

    Packages

    No packages published

    Contributors27


    [8]ページ先頭

    ©2009-2025 Movatter.jp