20

I have this command:

time -p sh -c 'command1; command2;'

So command1and command2 is executed and I get the real, user and sys time printed on the console.

But I want that command1; command2; is looped 10 times and then I want to get the time which is used for the two commands.

Tim
  • 303

3 Answers3

25

With zsh:

time (repeat 10 {cmd1; cmd2})

zsh's repeat is inherited from csh.

With tcsh:

time repeat 10 eval 'cmd1; cmd2'

Would give you the time for each iteration and the overall time at the end.

20

You can write a simple for-loop

 time -p bash -c "for (( i=0; i<10; i++ )); do command1; command2; done;"

Note that I used bash instead of sh for the loop.

Bernhard
  • 12,272
6

For simple for loops you can time the for loop directly:

time for i in {1..10}; do echo $i; sleep 1; done
qwr
  • 709