Como obter o tempo de vários comandos com um loop

12

Eu tenho este comando:

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

Então, command1e command2é executado e eu recebo o real, de usuário e tempo sys impressa no console.

Mas eu quero que command1; command2;seja repetido 10 vezes e depois quero obter o tempo que é usado para os dois comandos.

Tim
fonte

Respostas:

13

Você pode escrever um forloop simples

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

Note que eu usei em bashvez do shloop.

Bernhard
fonte
13
No bash, você pode apenastime (for i in {1..10}; do sleep 1 ; done)
frostschutz
1
@frostschutz: A sua parece ser uma resposta muito melhor. Por favor, publique como resposta.
Chris Page.
14

Com zsh:

time (repeat 10 {cmd1; cmd2})

zsh's repeaté herdado csh.

Com tcsh:

time repeat 10 eval 'cmd1; cmd2'

Daria a você tempo para cada iteração e o tempo total no final.

Stéphane Chazelas
fonte