Batched random number generation
MIT License
We benchmark fast shuffling functions using batched random index generation. It is meant for research purposes. Though we have good benchmarks and tests, this code is not meant to be production-ready.
make
./benchmark
To get the C++ benchmarks, you can type ./benchmark --cpp
. They are disabled by default.
To run tests:
./basic
See src
directory for the main code.
We use LLVM/clang for benchmarking.
The code is portable and other compilers can be used. The performance
of the C++ code might be sensitive to the C++ compiler used.
Specifically, we find that shuffle_23456
has relatively poor performance
with GCC compared to LLVM/clang. GCC fails to optimize shuffle_23456
properly.
We recommend that GCC users prefer shuffle_2
.