diff --git a/Cargo.lock b/Cargo.lock index bc8d316a602..a65abdb9554 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1785,6 +1785,7 @@ dependencies = [ "criterion", "databake", "icu", + "icu_benchmark_macros", "icu_collections", "icu_locale", "icu_locale_core", diff --git a/components/segmenter/Cargo.toml b/components/segmenter/Cargo.toml index 91838f51ccf..e0f006c7ca9 100644 --- a/components/segmenter/Cargo.toml +++ b/components/segmenter/Cargo.toml @@ -36,6 +36,7 @@ icu_locale = { workspace = true, optional = true } [dev-dependencies] icu = { path = "../../components/icu", default-features = false } +icu_benchmark_macros = { path = "../../tools/benchmark/macros" } icu_locale_core = { workspace = true } icu_properties = { path = "../properties", features = ["compiled_data"] } itertools = { workspace = true } diff --git a/components/segmenter/examples/experimental_segmenter.rs b/components/segmenter/examples/experimental_segmenter.rs index 035f8279e1f..bd9e6244a68 100644 --- a/components/segmenter/examples/experimental_segmenter.rs +++ b/components/segmenter/examples/experimental_segmenter.rs @@ -2,6 +2,10 @@ // called LICENSE at the top level of the ICU4X source tree // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). +#![no_main] // https://github.com/unicode-org/icu4x/issues/395 +icu_benchmark_macros::instrument!(); +use icu_benchmark_macros::println; + #[path = "../tests/adaboost/main.rs"] mod adaboost; @@ -29,7 +33,7 @@ fn main_adaboost(args: &[String]) { print!("{}|", &s[prev..breakpoint]); prev = breakpoint; } - println!(); + println!(""); println!("{} repetitions done in: {:?}", REPETITIONS, elapsed); } @@ -63,7 +67,7 @@ fn main_cnn(args: &[String]) { print!("{}|", &s[prev..breakpoint]); prev = breakpoint; } - println!(); + println!(""); println!("{} repetitions done in: {:?}", REPETITIONS, elapsed); } @@ -90,7 +94,7 @@ fn run_word_segmenter(segmenter: WordSegmenterBorrowed, s: &str) { print!("{}|", &s[prev..breakpoint]); prev = breakpoint; } - println!(); + println!(""); println!("{} repetitions done in: {:?}", REPETITIONS, elapsed); } @@ -98,6 +102,7 @@ fn main() { let args = std::env::args().collect::>(); if args.len() == 1 || args[1] == "--help" { println!("Usage: experimental_segmenter [] "); + return; } match args[1].as_str() { "adaboost" => main_adaboost(&args[2..]),