From 0cc70f492731a2a1f7fd637b4fdc4b95697f2ce2 Mon Sep 17 00:00:00 2001 From: Esteve Soler Arderiu Date: Tue, 14 Apr 2026 14:28:47 +0200 Subject: [PATCH] chore: move all benchmarks to benches/ folder - Move RLP decode benchmarks to benches/benches/rlp_decode.rs - Move RLP encode benchmarks to benches/benches/rlp_encode.rs - Move P2P decode benchmarks to benches/benches/p2p_decode.rs - Update benches/Cargo.toml with new dependencies and benchmark targets - Remove benchmark entries from crates/common/rlp/Cargo.toml - Remove benchmark entry from crates/networking/p2p/Cargo.toml - Delete old benchmark directories from crates/ This consolidates all benchmarks in a single location for easier maintenance and avoids cluttering individual crate directories. --- Cargo.lock | 67 +++---------------- benches/Cargo.toml | 20 +++++- .../benches/p2p_decode.rs | 0 .../benches/rlp_decode.rs | 0 .../benches/rlp_encode.rs | 0 crates/common/rlp/Cargo.toml | 14 ---- crates/networking/p2p/Cargo.toml | 5 -- 7 files changed, 29 insertions(+), 77 deletions(-) rename crates/networking/p2p/benches/decode.rs => benches/benches/p2p_decode.rs (100%) rename crates/common/rlp/benches/decode.rs => benches/benches/rlp_decode.rs (100%) rename crates/common/rlp/benches/encode.rs => benches/benches/rlp_encode.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 60a29ae0398..dbc7f8f7aed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2626,34 +2626,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "criterion" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" -dependencies = [ - "anes", - "cast", - "ciborium", - "clap", - "criterion-plot 0.5.0", - "futures", - "is-terminal", - "itertools 0.10.5", - "num-traits", - "once_cell", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "tinytemplate", - "tokio", - "walkdir", -] - [[package]] name = "criterion" version = "0.7.0" @@ -2664,7 +2636,8 @@ dependencies = [ "cast", "ciborium", "clap", - "criterion-plot 0.6.0", + "criterion-plot", + "futures", "itertools 0.13.0", "num-traits", "oorandom", @@ -2674,19 +2647,10 @@ dependencies = [ "serde", "serde_json", "tinytemplate", + "tokio", "walkdir", ] -[[package]] -name = "criterion-plot" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" -dependencies = [ - "cast", - "itertools 0.10.5", -] - [[package]] name = "criterion-plot" version = "0.6.0" @@ -3826,13 +3790,19 @@ name = "ethrex-benches" version = "9.0.0" dependencies = [ "bytes", - "criterion 0.5.1", + "criterion", + "ethereum-types 0.15.1", "ethrex", "ethrex-blockchain", "ethrex-common", "ethrex-config", "ethrex-l2-rpc", + "ethrex-p2p", + "ethrex-rlp", "ethrex-storage", + "ethrex-trie", + "once_cell", + "rand 0.9.2", "secp256k1", "serde_json", "tempfile", @@ -4191,7 +4161,6 @@ dependencies = [ "aes-gcm", "bytes", "concat-kdf", - "criterion 0.5.1", "crossbeam", "ctr", "ethereum-types 0.15.1", @@ -4283,13 +4252,8 @@ name = "ethrex-rlp" version = "9.0.0" dependencies = [ "bytes", - "criterion 0.7.0", "ethereum-types 0.15.1", - "ethrex-common", - "ethrex-trie", "hex-literal 0.4.1", - "once_cell", - "rand 0.9.2", "thiserror 2.0.18", ] @@ -6038,17 +6002,6 @@ dependencies = [ "serde", ] -[[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" diff --git a/benches/Cargo.toml b/benches/Cargo.toml index 79cd6814f47..031cc411b77 100644 --- a/benches/Cargo.toml +++ b/benches/Cargo.toml @@ -12,13 +12,19 @@ ethrex-blockchain.workspace = true ethrex-common.workspace = true ethrex-config.workspace = true ethrex-storage.workspace = true +ethrex-rlp.workspace = true +ethrex-trie.workspace = true +ethrex-p2p.workspace = true bytes.workspace = true tokio.workspace = true serde_json.workspace = true +ethereum-types.workspace = true +rand = "0.9.2" +once_cell = "1" [dev-dependencies] -criterion = { version = "0.5.1", features = [ +criterion = { version = "0.7.0", features = [ "html_reports", "async_futures", "async_tokio", @@ -31,5 +37,17 @@ ethrex-l2-rpc.workspace = true name = "build_block_benchmark" harness = false +[[bench]] +name = "rlp_decode" +harness = false + +[[bench]] +name = "rlp_encode" +harness = false + +[[bench]] +name = "p2p_decode" +harness = false + [lints] workspace = true diff --git a/crates/networking/p2p/benches/decode.rs b/benches/benches/p2p_decode.rs similarity index 100% rename from crates/networking/p2p/benches/decode.rs rename to benches/benches/p2p_decode.rs diff --git a/crates/common/rlp/benches/decode.rs b/benches/benches/rlp_decode.rs similarity index 100% rename from crates/common/rlp/benches/decode.rs rename to benches/benches/rlp_decode.rs diff --git a/crates/common/rlp/benches/encode.rs b/benches/benches/rlp_encode.rs similarity index 100% rename from crates/common/rlp/benches/encode.rs rename to benches/benches/rlp_encode.rs diff --git a/crates/common/rlp/Cargo.toml b/crates/common/rlp/Cargo.toml index acded0c5242..ab0c1414fa3 100644 --- a/crates/common/rlp/Cargo.toml +++ b/crates/common/rlp/Cargo.toml @@ -13,23 +13,9 @@ ethereum-types = { version = "0.15.1", default-features = false, features = ["et [dev-dependencies] hex-literal.workspace = true -criterion = { version = "0.7.0", features = ["html_reports"] } -ethrex-common.workspace = true -ethrex-trie.workspace = true -rand = "0.9.2" -once_cell = "1" - [lib] path = "./rlp.rs" [lints] workspace = true - -[[bench]] -name = "decode" -harness = false - -[[bench]] -name = "encode" -harness = false diff --git a/crates/networking/p2p/Cargo.toml b/crates/networking/p2p/Cargo.toml index 7baf2b2f6f9..902829a6e5b 100644 --- a/crates/networking/p2p/Cargo.toml +++ b/crates/networking/p2p/Cargo.toml @@ -58,7 +58,6 @@ crossbeam.workspace = true [dev-dependencies] hex-literal.workspace = true -criterion = { version = "0.5", features = ["html_reports"] } [lib] path = "./p2p.rs" @@ -74,7 +73,3 @@ metrics = ["dep:ethrex-metrics"] [lints.clippy] unwrap_used = "deny" redundant_clone = "warn" - -[[bench]] -name = "decode" -harness = false