Skip to content

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.

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.

2 participants