Unix命令用于基准测试代码运行K次

nev*_*int 7 c++ unix performance benchmarking

假设我有一个在Unix中执行的代码:

$ ./mycode
Run Code Online (Sandbox Code Playgroud)

我的问题是有没有办法让我的代码运行时间达到K次.例如,K = 1000的值.

我知道Unix"time"命令,但是只执行了1个实例.

Eva*_*ran 14

改善/澄清查理的答案:

time (for i in $(seq 10000); do ./mycode; done)
Run Code Online (Sandbox Code Playgroud)


Cha*_*tin 13

尝试

$ time ( your commands )
Run Code Online (Sandbox Code Playgroud)

写一个循环进入parens根据需要重复你的命令.

更新

好的,我们可以解决命令行太长的问题.这是bash语法,如果你使用另一个shell,你可能必须使用expr(1).

$ time (
> while ((n++ < 100)); do echo "n = $n"; done
> )

real    0m0.001s
user    0m0.000s
sys     0m0.000s
Run Code Online (Sandbox Code Playgroud)


pap*_*ika 5

只是一句忠告:确保这个"基准"接近您对已执行程序的实际使用.如果这是一个短暂的生命过程,那么单独创建流程可能会产生很大的开销.不要认为它与程序中作为循环实现它是一样的.