0

我在我的程序中使用了 C++函数,但是我发现在循环中rand()使用后运行它时我的程序会很慢。rand()该循环将迭代多次,并将调用函数time()作为rand().

所以我想知道 C++rand()time()函数是否会消耗大量系统资源?

4

1 回答 1

2

两件事情:

1 - 您提到您在每次循环迭代时播种 rand() :这不仅不需要,因为可能会降低 PRNG 的性能(统计性能),因为它们被设计为由先前的输出播种。只播种一次 PRNG,然后(仅)调用 rand()。它会在每次调用时自动更新种子。

2 - rand() 确实很慢。根据您的统计要求,如果不是很严格,您可以重新实现一个 rand() 函数。一个简单的 PRNG 可以由一个逻辑图制成。

祝你好运!

于 2013-07-21T13:56:49.010 回答