C ++:绘制随机布尔值的性能

Rem*_*i.b 1 c++ random boolean

我正在用绘制随机布尔数字

std::mt19937 rng;
std::uniform_int_distribution<int> dis(0, 1);
Run Code Online (Sandbox Code Playgroud)

在极端情况下,绘制这些数字可能会占用我进程的CPU时间的40%。有什么办法可以使速度更快?

Hol*_*Cat 6

我会摆脱的uniform_int_distribution

一次调用std::mt19937::operator()(即执行rng())会给您32个随机位,您可以一一使用。

基准测试表明,此方法快23倍。