JuliaRandom / JuliaRandom/RandomNumbers.jl

Xoroshiro128Plus slows down relative to Base MT with increasing sample size

Đang mở
#68 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Julia
Star
100
Fork
23
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.