{"id":16883951,"url":"https://github.com/zbraniecki/intl-measurements","last_synced_at":"2025-08-03T00:39:28.731Z","repository":{"id":47686867,"uuid":"218613729","full_name":"zbraniecki/intl-measurements","owner":"zbraniecki","description":"Measurements of various intl approaches","archived":false,"fork":false,"pushed_at":"2021-10-13T17:36:27.000Z","size":5991,"stargazers_count":4,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T08:23:03.252Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zbraniecki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-30T20:03:36.000Z","updated_at":"2022-02-21T00:15:38.000Z","dependencies_parsed_at":"2022-09-23T16:13:23.275Z","dependency_job_id":null,"html_url":"https://github.com/zbraniecki/intl-measurements","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbraniecki%2Fintl-measurements","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbraniecki%2Fintl-measurements/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbraniecki%2Fintl-measurements/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbraniecki%2Fintl-measurements/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zbraniecki","download_url":"https://codeload.github.com/zbraniecki/intl-measurements/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248397025,"owners_count":21097029,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T16:14:52.362Z","updated_at":"2025-04-11T12:08:29.640Z","avatar_url":"https://github.com/zbraniecki.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# intl-measurements\n\nThis repository is a sub-project of ICU4X project and contains a harness and implementations of small benchmarks for measuring performance, memory and size differences between various implementations of ICU.\n\nThe main goal of this project is to establish a reasonable framework for comparing those measurements across multiple implementations and validate a claim that ICU4X is not slower, doesn't use more memory and doesn't take more space than a comparable alternatives.\n\n# Tests\n\nAt the moment the harness is focused on measuring performance between:\n\n* ICU4X 0.1\n* ICU4C 67 (using C++ apps)\n* ICU4C 67 (via `rust_icu`)\n* ICU4C 67 (via FFI)\n* A set of earlier Rust implementations of components such as `intl_pluralrules`, `unic_locale`, and `unic_datetime`\n\nThe aim is to make it easy to compare different backends for similar basic operations and minimize noise in data.\n\nThe tests can be launched via `stand-alone` binaries, or in case of all Rust apps via `criterion` benchmark.\n\n# Current results (as of October 19 2020)\n\nSpecs:\n* Dell Tower 5820\n  * Intel(R) Xeon(R) W-2155 CPU @ 3.30GHz x20\n  * 32 GB RAM\n\n* **C++**: GCC 10\n* **Rust**: 1.47\n* **ICU4C**: 67\n* **ICU4X**: icu4x 0.1\n\nSample: 956 locale strings provided to MozLocale constructor during fresh-profile startup of Firefox Nightly on Oct 21st 2019.\n\n\n|                    Test                      | ICU4X | ICU4C (rust_icu) | ICU4X (FFI) | ICU4C (C++) | Unic |\n| -------------------------------------------: | --------: | --------: | ----------: | ----------: | ----------: |\n| **Locale**  | | | | | |\n| Construct an instance from a string          | 28,531 ns | 821,947 ns | 541,333 ns | 1,235,646 ns | 41,578 ns |\n| Filter all locales against `en-US`           | 3,035 ns | 5,539 ns | 10,013 ns | 48,195 ns | 3,067 ns |\n| Serializing all locales to a string          | 68,072 ns | 77,826 ns | 66,682 ns | 2,982,821 ns | 75,760 ns |\n| Canonicalize all strings                     | 88,416 ns | 942,376 ns | 217,938 ns | 2,010,337 ns | 115,324 ns |\n| Measuring memory allocation of all instances | 30,592 b | 22,944 b | 91,776 b | 229,376 b | 30,592 b |\n| **Plural Rules**  | | | | | |\n| Select | 92 ns | 289 ns | 287 ns | 123,822 ns |  5 ns |\n| **Date Time**  | | | | | |\n| Format | 1,764 ns | 8,251 ns | | | |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzbraniecki%2Fintl-measurements","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzbraniecki%2Fintl-measurements","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzbraniecki%2Fintl-measurements/lists"}