Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ std::随机_设备构造函数开销_C++_Random - Fatal编程技术网

C++ std::随机_设备构造函数开销

C++ std::随机_设备构造函数开销,c++,random,C++,Random,从网络中的许多来源来看,建议使用random\u设备生成随机数。所有代码实例化random\u设备,应用适当的random\u引擎或分发,并使用它。 我想知道,这种模式的开销是多少? 实例化random\u设备需要在linux上打开/dev/uradom,因此开销可能比从这些来源看起来要大。 不应该为此建议使用单态/单态模式吗 提前感谢。您多久创建一次随机数引擎,这很重要?没有什么可以阻止构造函数在幕后访问单例。在任何情况下,如果没有证据表明特定用例中存在问题(例如,性能测量和分析显示随机_设备

从网络中的许多来源来看,建议使用
random\u设备
生成随机数。所有代码实例化
random\u设备
,应用适当的
random\u引擎
或分发,并使用它。 我想知道,这种模式的开销是多少? 实例化
random\u设备
需要在linux上打开
/dev/uradom
,因此开销可能比从这些来源看起来要大。 不应该为此建议使用单态/单态模式吗


提前感谢。

您多久创建一次随机数引擎,这很重要?没有什么可以阻止构造函数在幕后访问单例。在任何情况下,如果没有证据表明特定用例中存在问题(例如,性能测量和分析显示
随机_设备的创建
,并且分发应用是一个性能热点,导致特定程序无法满足其要求),则此类事情属于过早优化。一般来说,如果程序员没有进行彻底的测试/评测,他们往往会高估这些事情的影响,高估他们优化代码的能力。具体来说,不太常见。但如果在不同的上下文和代码的不同部分中广泛传播,我认为这可能是一个问题。我怀疑用
random\u device
random\u engine
实例化一个单态对象并使用它是一个好主意。我只看到过这样的建议,即用
random\u device
为伪随机位生成器(例如
mt19937
)种子一次,然后在整个程序中使用该生成器。我不知道建议在哪里直接使用
random\u设备生成随机数。@HappyCactus,它与
fork