Skip to content

Use new rand_core::block::Generator trait#1690

Closed
dhardy wants to merge 4 commits intomasterfrom
block-generator
Closed

Use new rand_core::block::Generator trait#1690
dhardy wants to merge 4 commits intomasterfrom
block-generator

Conversation

@dhardy
Copy link
Member

@dhardy dhardy commented Nov 30, 2025

  • Added a CHANGELOG.md entry

Summary

Use rust-random/rand_core#26.

Details

This worked out nicely:

  • No need for Array64 since we can (and must!) use [u32; 64]
  • Benchmarks show no significant effect on rand::rng():
random_bytes/thread     time:   [307.01 ns 307.25 ns 307.48 ns]
                        thrpt:  [3.1016 GiB/s 3.1039 GiB/s 3.1064 GiB/s]
                 change:
                        time:   [-4.5564% -4.4324% -4.3065%] (p = 0.00 < 0.05)
                        thrpt:  [+4.5003% +4.6379% +4.7739%]
                        Performance has improved.
Found 24 outliers among 100 measurements (24.00%)
  9 (9.00%) low severe
  13 (13.00%) high mild
  2 (2.00%) high severe

random_u32/thread       time:   [1.2800 ns 1.2801 ns 1.2801 ns]
                        thrpt:  [2.9101 GiB/s 2.9102 GiB/s 2.9104 GiB/s]
                 change:
                        time:   [+0.3641% +0.4067% +0.4495%] (p = 0.00 < 0.05)
                        thrpt:  [-0.4475% -0.4050% -0.3628%]
                        Change within noise threshold.
Found 145 outliers among 1000 measurements (14.50%)
  25 (2.50%) low severe
  16 (1.60%) low mild
  27 (2.70%) high mild
  77 (7.70%) high severe

random_u64/thread       time:   [2.0227 ns 2.0235 ns 2.0243 ns]
                        thrpt:  [3.6806 GiB/s 3.6821 GiB/s 3.6835 GiB/s]
                 change:
                        time:   [-0.8368% -0.7952% -0.7544%] (p = 0.00 < 0.05)
                        thrpt:  [+0.7601% +0.8016% +0.8439%]
                        Change within noise threshold.
Found 2 outliers among 1000 measurements (0.20%)
  1 (0.10%) high mild
  1 (0.10%) high severe

(For whatever reason the first bench in a run is often slightly different; others are very close to prior performance which is not the case in #1686.)

Draft because: depends on unmerged PR.

@dhardy
Copy link
Member Author

dhardy commented Dec 28, 2025

Obsolete (replaced by #1697).

@dhardy dhardy closed this Dec 28, 2025
@dhardy dhardy deleted the block-generator branch February 16, 2026 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant