Skip to content

Sampling benches in rand* 0.9.0-alpha.0 #1409

Closed
@Thell

Description

Hello! I was pretty excited to see the alpha release because of all the hype regarding Canon's method but either I did something wrong or, ..., well 🤷

The first bench is from dba696e on Feb 15 and then the alpha release.

The command used was

rustup run nightly cargo criterion --bench uniform --features small_rng

samplei32

Alpha Rng single distr
SmallRng 3.30 ns (✅ 1.00x) 2.01 ns (✅ 1.00x)
=> SmallRng 3.31 ns (✅ 1.00x) 2.07 ns (✅ 1.00x)
ChaCha8Rng 3.59 ns (✅ 1.09x slower) 2.48 ns (❌ 1.23x slower)
=> ChaCha8Rng 3.62 ns (✅ 1.09x slower) 2.66 ns (❌ 1.29x slower)
Pcg32 2.85 ns (✅ 1.16x faster) 2.25 ns (❌ 1.12x slower)
=> Pcg32 2.93 ns (✅ 1.13x faster) 2.28 ns (✅ 1.10x slower)
Pcg64 3.88 ns (❌ 1.18x slower) 2.66 ns (❌ 1.32x slower)
=> Pcg64 3.86 ns (❌ 1.17x slower) 2.72 ns (❌ 1.32x slower)

samplei64

Alpha Rng single distr
SmallRng 4.63 ns (✅ 1.00x) 1.90 ns (✅ 1.00x)
=> SmallRng 4.58 ns (✅ 1.00x) 1.91 ns (✅ 1.00x)
ChaCha8Rng 5.97 ns (❌ 1.29x slower) 3.60 ns (❌ 1.89x slower)
=> ChaCha8Rng 5.90 ns (❌ 1.29x slower) 3.63 ns (❌ 1.90x slower)
Pcg32 5.29 ns (❌ 1.14x slower) 3.12 ns (❌ 1.64x slower)
=> Pcg32 5.25 ns (❌ 1.15x slower) 3.12 ns (❌ 1.63x slower)
Pcg64 5.00 ns (✅ 1.08x slower) 2.68 ns (❌ 1.40x slower)
=> Pcg64 5.05 ns (✅ 1.10x slower) 2.70 ns (❌ 1.41x slower)

As you can see, no gains. At least things didn't get worse. I also tested with feature unbiased and I didn't see anything change but if I understand correctly that shouldn't alter single samples.

So did I miss something?

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions