yohhoyの日記

技術的メモをしていきたい日記

乱数生成器のサイズ

C++11標準ライブラリに追加された乱数生成器(RNG; Random Number Generator)のオブジェクトサイズについてメモ。

注意:具体的なオブジェクトサイズは実装依存となるため、下表は各オブジェクト間のオーダー比較程度に解釈すること。

RNG gcc/64 gcc/32 Clang/64 MSVC/32 MSVC/64
minstd_rand0 8 4 8 4 4
minstd_rand 8 4 8 4 4
mt19937 5000 2500 5000 5000 5000
mt19937_64 2504 2504 2504 5008 5008
ranlux24_base 208 104 208 200 200
ranlux48_base 112 112 112 208 208
ranlux24 216 108 216 204 204
ranlux48 120 120 120 216 216
knuth_b 2064 1032 2064 1040 1040

凡例:gcc/64=gcc 4.8.2/x86_64-unknown-linux-gnu, gcc/32=gcc 4.8.2/i686-pc-cygwin, Clang/64=clang3.3/x86_64-unknown-linux-gnu, MSVC/32=MSVC11(VisualC++2012)/Win32, MSVC/64=MSVC11(VisualC++2012)/x64

関連URL