我在我的程序中使用了 C++ rand()
函数,但是我发现在我的程序中使用 rand()
之后我的程序运行起来会很慢环形。循环将迭代多次,并将调用函数 time()
作为 rand()
的种子。
所以我想知道 C++ rand()
和 time()
函数是否占用大量系统资源?
最佳答案
两件事:
1 - 您提到您在每次循环迭代时为 rand() 播种:这不仅不需要,而且可能会降低 PRNG 的性能(统计性能),因为它们被设计为由先前的输出播种。只为您的 PRNG 播种一次,然后(仅)调用 rand()。它会在每次调用时自动更新种子。
2 - rand() 确实很慢。根据您的统计要求,如果不是很严格,您可以重新实现一个 rand() 函数。可以从 logistic map 制作一个简单的 PRNG .
祝你好运!
关于c++ - rand() 和 time() 函数会占用大量系统资源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17772780/