lemire / batched_random

Batched random number generation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Batched Random

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.

Requirements

  • Recent LLVM clang and clang++ compilers
  • Make

Running Benchmarks

make
./benchmark

To run tests:

./basic

Code

See src directory for the main code.

Other Compilers

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 batched_random::shuffle_23456 has relatively poor performance with GCC compared to LLVM/clang. We could not identify the cause of the issue. We recommend that GCC C++ users prefer batched_random::shuffle_2.

About

Batched random number generation

License:MIT License


Languages

Language:C 61.4%Language:C++ 36.0%Language:Gnuplot 1.8%Language:Makefile 0.8%