Як отримати час декількох команд з циклом


12

Я маю цю команду:

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

Так command1і command2виконується, і я отримую реальний, користувальницький і системний час, надрукований на консолі.

Але я хочу, щоб command1; command2;це було петлі 10 разів, і тоді я хочу отримати час, який використовується для двох команд.

Відповіді:


13

Можна написати простий for-пучок

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

Зауважте, що я використовував bashзамість shциклу.


13
На баш можна простоtime (for i in {1..10}; do sleep 1 ; done)
frostschutz

1
@frostschutz: Ваше здається набагато кращою відповіддю. Будь ласка, опублікуйте це як відповідь.
Кріс Пейдж

14

З zsh:

time (repeat 10 {cmd1; cmd2})

zshРосія repeatпередається у спадок від csh.

З tcsh:

time repeat 10 eval 'cmd1; cmd2'

Дасть вам час для кожної ітерації та загальний час в кінці.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.