JuliaRandom / JuliaRandom/RandomNumbers.jl
Xoroshiro128Plus slows down relative to Base MT with increasing sample size
- Lenguaje dominante
- Julia
- Estrellas
- 100
- Forks
- 23
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
From what I've read, Xoroshiro is often suggested as the fastest RNG with decent random properties. Using the implementation here, I do see it beating Base's MT for small samples, but getting relatively slower as the sample size passes ~100:
```
julia> r0 = Random.default_rng();
julia> r1 = RandomNumbers.Xorshifts.Xoroshiro128Plus(1);
julia> @btime rand($r0);
2.458 ns (0 allocations: 0 bytes)
julia> @btime rand($r1);
1.925 ns (0 allocations: 0 bytes)
julia> @btime rand($r0, 8);
41.771 ns (1 allocation: 144 bytes)
julia> @btime rand($r1, 8);
34.454 ns (1 allocation: 144 bytes)
julia> @btime rand($r0, 128);
171.495 ns (1 allocation: 1.14 KiB)
julia> @btime rand($r1, 128);
180.105 ns (1 allocation: 1.14 KiB)
julia> @btime rand($r0, 10^7);
6.606 ms (2 allocations: 76.29 MiB)
julia> @btime rand($r1, 10^7);
25.872 ms (2 allocations: 76.29 MiB)
```
Is this to be expected? Perhaps this information could be added to the docs.
```
julia> versioninfo()
Julia Version 1.5.0-DEV.803
Commit 8ab87d2205 (2020-05-03 08:07 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-9.0.1 (ORCJIT, skylake)
Environment:
JULIA_NUM_THREADS = 8
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.