Commit 4169222e authored by Christopher Dykes's avatar Christopher Dykes Committed by Facebook Github Bot

Add an sfmt19937 benchmark

Summary: `__gnu_cxx::sfmt19937` is 3.5x faster than `std::mt19937` according to the benchmark.

Reviewed By: yfeldblum

Differential Revision: D5393697

fbshipit-source-id: bc725838dc7f62d030c7e68bc6d229042df2b46c
parent 3f97ccef
......@@ -46,6 +46,18 @@ BENCHMARK(mt19937, n) {
FOR_EACH_RANGE(i, 0, n) { doNotOptimizeAway(rng()); }
}
#if FOLLY_HAVE_EXTRANDOM_SFMT19937
BENCHMARK(sfmt19937, n) {
BenchmarkSuspender braces;
std::random_device rd;
__gnu_cxx::sfmt19937 rng(rd());
braces.dismiss();
FOR_EACH_RANGE(i, 0, n) { doNotOptimizeAway(rng()); }
}
#endif
BENCHMARK(threadprng, n) {
BenchmarkSuspender braces;
ThreadLocalPRNG tprng;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment