根据这个Boost文档页面,Mersenne Twister的64位变体比32位变体慢得多(这很有道理)。据我所知,C++11引入的许多功能,包括随机数生成,基本上都是标准库中的Boost。这让我相信,在标准C++中,32位MT的性能也更好。
我正在编写一个光线追踪器(主要是为了好玩),速度是我的主要关注点之一。基本上所有数值都表示为双精度浮点数。我的问题是,由于32位MT明显更快,我可以用它来生成双精度浮点数吗?我会遇到哪些缺点(精度损失,性能等)?
我正在编写一个光线追踪器(主要是为了好玩),速度是我的主要关注点之一。基本上所有数值都表示为双精度浮点数。我的问题是,由于32位MT明显更快,我可以用它来生成双精度浮点数吗?我会遇到哪些缺点(精度损失,性能等)?
uniform_real_distribution
产生超过两个值。 - Kerrek SB