C++乱数の覚書

引用 ChatGPT

時間的基準はXorShift32を基準としsは疑似タイムである。

アルゴリズム別:相対速度比較(更新版)

アルゴリズム 状態サイズ 周期 統計品質 実行時間(相対) 備考
XorShift32 32ビット 2³² - 1 1.0 s (基準) 最速、品質は低い
XorShift32 + カウンタ再シード 32ビット 擬似無限 やや改善 1.3 ~ 1.5 s 周期の突破、統計特性わずかに向上
XorShift128+ 128ビット 2¹²⁸ - 1 1.5 ~ 2.0 s 64bitアーキテクチャに適した構造
Xoroshiro128++ 128ビット 2¹²⁸ - 1 2.0 ~ 2.5 s 推奨アルゴリズムの一つ、実装も比較的簡単
Xoshiro256++ 256ビット 2²⁵⁶ - 1 非常に高 2.5 ~ 3.0 s 64bit向け、現在推奨される高性能PRNG
Xoshiro512++ 512ビット 2⁵¹² - 1 超高 3.5 ~ 4.0 s 高精度・高周期用途に適す、状態サイズが大きいため遅め
std::mt19937 19937ビット 2¹⁹⁹³⁷ - 1 非常に高 10 ~ 15 s 非常に長い周期、高品質、速度は遅い(ルックアップテーブル型)