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.


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.

| improve this answer | |
  • 14
    In bash you can just time (for i in {1..10}; do sleep 1 ; done) – frostschutz Mar 24 '13 at 18:47
  • 1
    @frostschutz: Yours seems like a much better answer. Please post it as an answer. – Chris Page Jan 24 '16 at 21:58

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.

| improve this answer | |

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

time for i in {1..10}; do echo $i; sleep 1; done
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.