From 3b100ebdfe99ca9a90d9da0cc1e7f66908f3521f Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Sat, 25 Apr 2026 20:08:11 +0900 Subject: [PATCH] chore: upgrade `criterion` to 0.8 (#4045) --- Cargo.lock | 47 +++++++++++-------- actix-http/Cargo.toml | 2 +- .../benches/response-body-compression.rs | 4 +- actix-router/Cargo.toml | 2 +- actix-router/benches/quoter.rs | 4 +- actix-router/benches/router.rs | 4 +- actix-web/Cargo.toml | 2 +- 7 files changed, 37 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 483994aa5..03c6cfd6c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -465,6 +465,15 @@ dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + [[package]] name = "anes" version = "0.1.6" @@ -963,25 +972,24 @@ dependencies = [ [[package]] name = "criterion" -version = "0.5.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" dependencies = [ + "alloca", "anes", "cast", "ciborium", "clap", "criterion-plot", - "is-terminal", "itertools", "num-traits", - "once_cell", "oorandom", + "page_size", "plotters", "rayon", "regex", "serde", - "serde_derive", "serde_json", "tinytemplate", "walkdir", @@ -989,9 +997,9 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.5.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" dependencies = [ "cast", "itertools", @@ -1845,17 +1853,6 @@ version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" -[[package]] -name = "is-terminal" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.61.2", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.2" @@ -1864,9 +1861,9 @@ checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" -version = "0.10.5" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] @@ -2170,6 +2167,16 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "parking_lot" version = "0.12.5" diff --git a/actix-http/Cargo.toml b/actix-http/Cargo.toml index c76913cc5..7e28f6792 100644 --- a/actix-http/Cargo.toml +++ b/actix-http/Cargo.toml @@ -142,7 +142,7 @@ actix-web = "4" awc = { version = "3", default-features = false, features = ["openssl"] } async-stream = "0.3" -criterion = { version = "0.5", features = ["html_reports"] } +criterion = { version = "0.8", features = ["html_reports"] } divan = "0.1.8" env_logger = "0.11" futures-util = { version = "0.3.17", default-features = false, features = ["alloc"] } diff --git a/actix-http/benches/response-body-compression.rs b/actix-http/benches/response-body-compression.rs index 53279e312..04b4b5ea9 100644 --- a/actix-http/benches/response-body-compression.rs +++ b/actix-http/benches/response-body-compression.rs @@ -1,8 +1,8 @@ -use std::convert::Infallible; +use std::{convert::Infallible, hint::black_box}; use actix_http::{encoding::Encoder, ContentEncoding, Request, Response, StatusCode}; use actix_service::{fn_service, Service as _}; -use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use criterion::{criterion_group, criterion_main, Criterion}; static BODY: &[u8] = include_bytes!("../Cargo.toml"); diff --git a/actix-router/Cargo.toml b/actix-router/Cargo.toml index 38be79944..f7fe3643a 100644 --- a/actix-router/Cargo.toml +++ b/actix-router/Cargo.toml @@ -30,7 +30,7 @@ serde = "1" tracing = { version = "0.1.30", default-features = false, features = ["log"] } [dev-dependencies] -criterion = { version = "0.5", features = ["html_reports"] } +criterion = { version = "0.8", features = ["html_reports"] } http = "0.2.7" percent-encoding = "2.1" serde = { version = "1", features = ["derive"] } diff --git a/actix-router/benches/quoter.rs b/actix-router/benches/quoter.rs index 2428a767d..2143a066b 100644 --- a/actix-router/benches/quoter.rs +++ b/actix-router/benches/quoter.rs @@ -1,6 +1,6 @@ -use std::{borrow::Cow, fmt::Write as _}; +use std::{borrow::Cow, fmt::Write as _, hint::black_box}; -use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use criterion::{criterion_group, criterion_main, Criterion}; fn compare_quoters(c: &mut Criterion) { let mut group = c.benchmark_group("Compare Quoters"); diff --git a/actix-router/benches/router.rs b/actix-router/benches/router.rs index 2c21fef6c..0163f6cbf 100644 --- a/actix-router/benches/router.rs +++ b/actix-router/benches/router.rs @@ -1,6 +1,8 @@ //! Based on https://github.com/ibraheemdev/matchit/blob/master/benches/bench.rs -use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use std::hint::black_box; + +use criterion::{criterion_group, criterion_main, Criterion}; macro_rules! register { (colon) => {{ diff --git a/actix-web/Cargo.toml b/actix-web/Cargo.toml index f6e05d325..01dbf79a9 100644 --- a/actix-web/Cargo.toml +++ b/actix-web/Cargo.toml @@ -176,7 +176,7 @@ awc = { version = "3", features = ["openssl"] } brotli = "8" const-str = "1.1" core_affinity = "0.8" -criterion = { version = "0.5", features = ["html_reports"] } +criterion = { version = "0.8", features = ["html_reports"] } env_logger = "0.11" flate2 = "1.0.13" futures-util = { version = "0.3.17", default-features = false, features = ["std"] }