diff options
Diffstat (limited to 'intl/icu_capi/js/package/bench')
-rw-r--r-- | intl/icu_capi/js/package/bench/all.mjs | 2 | ||||
-rw-r--r-- | intl/icu_capi/js/package/bench/fixed-decimal-format.mjs | 28 | ||||
-rw-r--r-- | intl/icu_capi/js/package/bench/fixed-decimal.mjs | 34 |
3 files changed, 64 insertions, 0 deletions
diff --git a/intl/icu_capi/js/package/bench/all.mjs b/intl/icu_capi/js/package/bench/all.mjs new file mode 100644 index 0000000000..76586772d4 --- /dev/null +++ b/intl/icu_capi/js/package/bench/all.mjs @@ -0,0 +1,2 @@ +import "./fixed-decimal.mjs"; +import "./fixed-decimal-format.mjs"; diff --git a/intl/icu_capi/js/package/bench/fixed-decimal-format.mjs b/intl/icu_capi/js/package/bench/fixed-decimal-format.mjs new file mode 100644 index 0000000000..ac3b29203f --- /dev/null +++ b/intl/icu_capi/js/package/bench/fixed-decimal-format.mjs @@ -0,0 +1,28 @@ +import Benchmark from 'benchmark'; + +import { ICU4XFixedDecimal, ICU4XLocale, ICU4XFixedDecimalFormatter, ICU4XDataProvider, ICU4XFixedDecimalGroupingStrategy } from "../index.js" + +const locale = ICU4XLocale.create_from_string("bn"); +const dataProvider = ICU4XDataProvider.create_compiled(); + +let suite = new Benchmark.Suite(); + +suite = suite.add("ICU4XFixedDecimalFormatter.create", () => { + (ICU4XFixedDecimalFormatter.create(locale, dataProvider, {})).underlying > 0; +}); + +const format = ICU4XFixedDecimalFormatter.create_with_grouping_strategy(dataProvider, locale, ICU4XFixedDecimalGroupingStrategy.Auto); +const decimal = ICU4XFixedDecimal.create_from_i64(BigInt(1234)); +decimal.multiply_pow10(-2); + +suite = suite.add("ICU4XFixedDecimalFormatter.format", () => { + format.format(decimal); +}); + +suite + .on('cycle', (event) => { + console.log(String(event.target)); + console.log('μs/it:', event.target.stats.mean * 1000 * 1000); + console.log(); + }) + .run({ "async": false }); diff --git a/intl/icu_capi/js/package/bench/fixed-decimal.mjs b/intl/icu_capi/js/package/bench/fixed-decimal.mjs new file mode 100644 index 0000000000..12256e180d --- /dev/null +++ b/intl/icu_capi/js/package/bench/fixed-decimal.mjs @@ -0,0 +1,34 @@ +import Benchmark from 'benchmark'; + +import { ICU4XFixedDecimal } from "../index.js" + +let suite = new Benchmark.Suite(); + +suite = suite.add("ICU4XFixedDecimal.create_from_i64", () => { + (ICU4XFixedDecimal.create_from_i64(BigInt(1234))).underlying > 0; +}); + +const decimal = ICU4XFixedDecimal.create_from_i64(BigInt(1234)); +decimal.multiply_pow10(-2); + +suite = suite.add("ICU4XFixedDecimal.to_string", () => { + decimal.to_string(); +}); + +suite = suite.add("ICU4XFixedDecimal.multiply_pow10", () => { + decimal.multiply_pow10(2); + decimal.multiply_pow10(-2); +}); + +suite = suite.add("ICU4XFixedDecimal.set_sign", () => { + decimal.set_sign("Negative"); + decimal.set_sign("None"); +}); + +suite + .on('cycle', (event) => { + console.log(String(event.target)); + console.log('μs/it:', event.target.stats.mean * 1000 * 1000); + console.log(); + }) + .run({ "async": false }); |