GNU/Linux >> Znalost Linux >  >> Linux

Jak měřit průměrnou dobu provádění skriptu?

Můžete spouštět iterace programu ve smyčce; a vydělte celkový čas počtem iterací:

time for i in {1..10}; do sleep 1; done
real    0m10.052s
user    0m0.005s
sys 0m0.018s

existuje nástroj zvaný multitime, který dělá přesně toto:spuštění příkazu několikrát, měření, jak dlouho to trvá (skutečný/uživatel/systém s automaticky vypočítaným průměrem, min/max a mediánem času)

Například pro měření podobného skriptu 100krát:

multitime -q -n 100 "fact1.sh"
===> multitime results
1: -q fact1.sh
            Mean        Std.Dev.    Min         Median      Max
real        0.122       0.032       0.086       0.116       0.171       
user        0.148       0.044       0.096       0.137       0.223       
sys         0.023       0.019       0.000       0.014       0.061 

Toto je staré, ale objevilo se tak vysoko na Googlu, když jsem hledal příkaz, který jsem dříve používal, ale nemohl jsem ho najít. Každopádně můj preferovaný způsob, jak to udělat, je:

perf stat -r 10 -B sleep 1

To poskytuje docela dost podrobností, včetně průměrné doby provádění přímo na konci:

1.002248382 seconds time elapsed                   ( +-  0.01% )

Linux
  1. Jak změřit dobu spouštění Firefoxu?

  2. Jak spustit skript??

  3. Jak rozdělit řetězec ve skriptu Bash

  1. Zkontrolujte, jak dlouho trvá spuštění Bash skriptu s Time Command

  2. Jak testovat PHP skript

  3. Změřte dobu provádění skriptu

  1. Jak vytvořit skript příkazu Linux

  2. Jak ladit Bash skript?

  3. Čtyři paralelní úkoly… Jak na to?