Merge pull request #1439 from dhardy/upgrade-criterion

Upgrade criterion
This commit is contained in:
Vinzent Steinberg 2024-04-29 19:03:19 +02:00 committed by GitHub
commit 089d99368d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 112 additions and 109 deletions

View File

@ -79,8 +79,7 @@ jobs:
run: |
cargo test --target ${{ matrix.target }} --features=nightly
cargo test --target ${{ matrix.target }} --all-features
cargo test --target ${{ matrix.target }} --benches --features=small_rng,nightly
cargo test --target ${{ matrix.target }} --manifest-path rand_distr/Cargo.toml --benches
cargo test --target ${{ matrix.target }} --manifest-path benches/Cargo.toml --benches
cargo test --target ${{ matrix.target }} --lib --tests --no-default-features
- name: Test rand
run: |
@ -104,7 +103,7 @@ jobs:
- name: Test rand_pcg
run: cargo test --target ${{ matrix.target }} --manifest-path rand_pcg/Cargo.toml --features=serde1
- name: Test rand_chacha
run: cargo test --target ${{ matrix.target }} --manifest-path rand_chacha/Cargo.toml
run: cargo test --target ${{ matrix.target }} --manifest-path rand_chacha/Cargo.toml --features=serde1
test-cross:
runs-on: ${{ matrix.os }}

View File

@ -11,6 +11,7 @@ You may also find the [Upgrade Guide](https://rust-random.github.io/book/update.
## [Unreleased]
- Add `rand::distributions::WeightedIndex::{weight, weights, total_weight}` (#1420)
- Bump the MSRV to 1.61.0
- Move all benchmarks to new `benches` crate (#1439)
## [0.9.0-alpha.1] - 2024-03-18
- Add the `Slice::num_choices` method to the Slice distribution (#1402)

View File

@ -33,15 +33,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
[[package]]
name = "atty"
version = "0.2.14"
name = "anstyle"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi 0.1.19",
"libc",
"winapi",
]
checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
[[package]]
name = "autocfg"
@ -51,9 +46,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "average"
version = "0.14.1"
version = "0.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d804c74bb2d66e9b7047658d21af0f1c937d7d2466410cbf1aed3b0c04048d4"
checksum = "3a237a6822e1c3c98e700b6db5b293eb341b7524dcb8d227941245702b7431dc"
dependencies = [
"easy-cast",
"float-ord",
@ -66,6 +61,18 @@ version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]]
name = "benches"
version = "0.1.0"
dependencies = [
"criterion",
"criterion-cycles-per-byte",
"rand",
"rand_chacha",
"rand_distr",
"rand_pcg",
]
[[package]]
name = "bincode"
version = "1.3.3"
@ -75,12 +82,6 @@ dependencies = [
"serde",
]
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bumpalo"
version = "3.15.4"
@ -147,24 +148,28 @@ dependencies = [
[[package]]
name = "clap"
version = "3.2.25"
version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
dependencies = [
"bitflags",
"clap_builder",
]
[[package]]
name = "clap_builder"
version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
dependencies = [
"anstyle",
"clap_lex",
"indexmap 1.9.3",
"textwrap",
]
[[package]]
name = "clap_lex"
version = "0.2.4"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
dependencies = [
"os_str_bytes",
]
checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
[[package]]
name = "core-foundation-sys"
@ -174,19 +179,19 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "criterion"
version = "0.4.0"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
dependencies = [
"anes",
"atty",
"cast",
"ciborium",
"clap",
"criterion-plot",
"is-terminal",
"itertools",
"lazy_static",
"num-traits",
"once_cell",
"oorandom",
"plotters",
"rayon",
@ -198,6 +203,15 @@ dependencies = [
"walkdir",
]
[[package]]
name = "criterion-cycles-per-byte"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5281161544b8f2397e14942c2045efa3446470348121a65c37263f8e76c1e2ff"
dependencies = [
"criterion",
]
[[package]]
name = "criterion-plot"
version = "0.5.0"
@ -358,15 +372,6 @@ version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
[[package]]
name = "hermit-abi"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "hermit-abi"
version = "0.3.9"
@ -430,6 +435,17 @@ dependencies = [
"serde",
]
[[package]]
name = "is-terminal"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
dependencies = [
"hermit-abi",
"libc",
"windows-sys",
]
[[package]]
name = "itertools"
version = "0.10.5"
@ -454,12 +470,6 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.153"
@ -506,7 +516,7 @@ version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
dependencies = [
"hermit-abi 0.3.9",
"hermit-abi",
"libc",
]
@ -522,12 +532,6 @@ version = "11.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
[[package]]
name = "os_str_bytes"
version = "6.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
[[package]]
name = "plotters"
version = "0.3.5"
@ -591,7 +595,6 @@ name = "rand"
version = "0.9.0-alpha.1"
dependencies = [
"bincode",
"criterion",
"log",
"rand_chacha",
"rand_core",
@ -644,9 +647,9 @@ dependencies = [
[[package]]
name = "rayon"
version = "1.6.1"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7"
checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
dependencies = [
"either",
"rayon-core",
@ -795,12 +798,6 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "textwrap"
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
[[package]]
name = "time"
version = "0.3.34"
@ -968,6 +965,15 @@ dependencies = [
"windows-targets",
]
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows-targets",
]
[[package]]
name = "windows-targets"
version = "0.52.4"

View File

@ -58,6 +58,7 @@ unbiased = []
[workspace]
members = [
"benches",
"rand_core",
"rand_distr",
"rand_chacha",
@ -75,25 +76,4 @@ zerocopy = { version = "=0.8.0-alpha.6", default-features = false, features = ["
rand_pcg = { path = "rand_pcg", version = "=0.9.0-alpha.1" }
# Only to test serde1
bincode = "1.2.1"
rayon = "1.5.3"
criterion = { version = "0.4" }
[[bench]]
name = "uniform"
path = "benches/uniform.rs"
harness = false
[[bench]]
name = "seq_choose"
path = "benches/seq_choose.rs"
harness = false
[[bench]]
name = "shuffle"
path = "benches/shuffle.rs"
harness = false
[[bench]]
name = "uniform_float"
path = "benches/uniform_float.rs"
harness = false
rayon = "1.7"

40
benches/Cargo.toml Normal file
View File

@ -0,0 +1,40 @@
[package]
name = "benches"
version = "0.1.0"
edition = "2021"
publish = false
[dependencies]
[dev-dependencies]
rand = { path = "..", features = ["small_rng", "nightly"] }
rand_pcg = { path = "../rand_pcg" }
rand_chacha = { path = "../rand_chacha" }
rand_distr = { path = "../rand_distr" }
criterion = "0.5"
criterion-cycles-per-byte = "0.6"
[[bench]]
name = "distributions"
path = "src/distributions.rs"
harness = false
[[bench]]
name = "uniform"
path = "src/uniform.rs"
harness = false
[[bench]]
name = "seq_choose"
path = "src/seq_choose.rs"
harness = false
[[bench]]
name = "shuffle"
path = "src/shuffle.rs"
harness = false
[[bench]]
name = "uniform_float"
path = "src/uniform_float.rs"
harness = false

View File

@ -1,23 +0,0 @@
[package]
name = "benches"
version = "0.0.0"
authors = ["The Rand Project Developers"]
license = "MIT OR Apache-2.0"
description = "Criterion benchmarks of the rand_distr crate"
edition = "2021"
rust-version = "1.61"
publish = false
[workspace]
[dependencies]
criterion = { version = "0.3", features = ["html_reports"] }
criterion-cycles-per-byte = "0.1"
rand = { path = "../../" }
rand_distr = { path = "../" }
rand_pcg = { path = "../../rand_pcg/" }
[[bench]]
name = "distributions"
path = "src/distributions.rs"
harness = false