From 83ff767c5faf59dc34054230716f16c8b8ce257f Mon Sep 17 00:00:00 2001 From: cscherr Date: Wed, 9 Jul 2025 17:29:24 +0200 Subject: [PATCH] feat(crc): add iai bench --- Cargo.lock | 7 +++++++ crates/crc/Cargo.toml | 5 +++++ crates/crc/benches/crc32bench_iai.rs | 8 ++++++++ 3 files changed, 20 insertions(+) create mode 100755 crates/crc/benches/crc32bench_iai.rs diff --git a/Cargo.lock b/Cargo.lock index 0fbf02d..60af98c 100755 --- a/Cargo.lock +++ b/Cargo.lock @@ -140,6 +140,7 @@ name = "crc" version = "0.1.0" dependencies = [ "criterion", + "iai", ] [[package]] @@ -321,6 +322,12 @@ dependencies = [ "libc", ] +[[package]] +name = "iai" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71a816c97c42258aa5834d07590b718b4c9a598944cd39a52dc25b351185d678" + [[package]] name = "itertools" version = "0.10.5" diff --git a/crates/crc/Cargo.toml b/crates/crc/Cargo.toml index 7f5389e..9a3105d 100755 --- a/crates/crc/Cargo.toml +++ b/crates/crc/Cargo.toml @@ -7,7 +7,12 @@ edition = "2024" [dev-dependencies] criterion = "0.3" +iai = "0.1.1" [[bench]] name = "crc32bench" harness = false + +[[bench]] +name = "crc32bench_iai" +harness = false diff --git a/crates/crc/benches/crc32bench_iai.rs b/crates/crc/benches/crc32bench_iai.rs new file mode 100755 index 0000000..9976877 --- /dev/null +++ b/crates/crc/benches/crc32bench_iai.rs @@ -0,0 +1,8 @@ +use crc::{Crc, Crc32}; +use iai::black_box; + +fn iai_benchmark_short() -> ::Checksum { + Crc32::checksum(black_box(&crc::CHECK_DATA)) +} + +iai::main!(iai_benchmark_short);