meta: move benchmarks to dedicated crate

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I753245e75da3a995c622a2c73f77bcb26a6a6964
This commit is contained in:
raf 2026-03-27 16:57:50 +03:00
commit 77d9c725c7
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
5 changed files with 112 additions and 10 deletions

89
Cargo.lock generated
View file

@ -241,6 +241,8 @@ dependencies = [
"num-traits",
"oorandom",
"page_size",
"plotters",
"rayon",
"regex",
"serde",
"serde_json",
@ -248,6 +250,16 @@ dependencies = [
"walkdir",
]
[[package]]
name = "criterion-cycles-per-byte"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5396de42a52e9e5d8f67ef0702dae30451f310a9ba1c3094dcf228f0be0e54bc"
dependencies = [
"cfg-if",
"criterion",
]
[[package]]
name = "criterion-plot"
version = "0.8.2"
@ -267,6 +279,25 @@ dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
dependencies = [
"crossbeam-epoch",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.21"
@ -559,10 +590,18 @@ name = "microfetch-asm"
version = "0.4.13"
[[package]]
name = "microfetch-lib"
name = "microfetch-bench"
version = "0.4.13"
dependencies = [
"criterion",
"criterion-cycles-per-byte",
"microfetch-lib",
]
[[package]]
name = "microfetch-lib"
version = "0.4.13"
dependencies = [
"hotpath",
"microfetch-asm",
]
@ -610,6 +649,34 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
[[package]]
name = "plotters"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747"
dependencies = [
"num-traits",
"plotters-backend",
"plotters-svg",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "plotters-backend"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a"
[[package]]
name = "plotters-svg"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
dependencies = [
"plotters-backend",
]
[[package]]
name = "prettytable-rs"
version = "0.10.0"
@ -665,6 +732,26 @@ dependencies = [
"bitflags",
]
[[package]]
name = "rayon"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
dependencies = [
"either",
"rayon-core",
]
[[package]]
name = "rayon-core"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
dependencies = [
"crossbeam-deque",
"crossbeam-utils",
]
[[package]]
name = "redox_users"
version = "0.4.6"

View file

@ -1,5 +1,5 @@
[workspace]
members = [ "crates/*", "microfetch" ]
members = [ "crates/*", "microfetch", "crates/benchmarks" ]
resolver = "3"
[workspace.package]
@ -13,7 +13,8 @@ version = "0.4.13"
microfetch-asm = { path = "./crates/asm" }
microfetch-lib = { path = "./crates/lib" }
criterion = { default-features = false, features = [ "cargo_bench_support" ], version = "0.8.2" }
criterion = { default-features = false, features = [ "cargo_bench_support" ], version = "0.8.2" }
criterion-cycles-per-byte = "0.8.0"
[profile.dev]
opt-level = 1

View file

@ -0,0 +1,21 @@
[package]
name = "microfetch-bench"
description = "Benchmarks for microfetch"
version.workspace = true
edition.workspace = true
authors.workspace = true
rust-version.workspace = true
license.workspace = true
publish = false
[dependencies]
criterion.workspace = true
criterion-cycles-per-byte.workspace = true
microfetch-lib.workspace = true
[[bench]]
harness = false
name = "microfetch"
[lints]
workspace = true

View file

@ -16,12 +16,5 @@ microfetch-asm.workspace = true
hotpath = [ "dep:hotpath", "hotpath/hotpath" ]
hotpath-alloc = [ "hotpath/hotpath-alloc" ]
[dev-dependencies]
criterion.workspace = true
[[bench]]
harness = false
name = "benchmark"
[lints]
workspace = true