我在我的程序中使用了 C++函数,但是我发现在循环中rand()
使用后运行它时我的程序会很慢。rand()
该循环将迭代多次,并将调用函数time()
作为rand()
.
所以我想知道 C++rand()
和time()
函数是否会消耗大量系统资源?
两件事情:
1 - 您提到您在每次循环迭代时播种 rand() :这不仅不需要,因为可能会降低 PRNG 的性能(统计性能),因为它们被设计为由先前的输出播种。只播种一次 PRNG,然后(仅)调用 rand()。它会在每次调用时自动更新种子。
2 - rand() 确实很慢。根据您的统计要求,如果不是很严格,您可以重新实现一个 rand() 函数。一个简单的 PRNG 可以由一个逻辑图制成。
祝你好运!