Chtěl bych změřit, jak dlouho trvá spuštění některých softwarů.
Znám příkaz time
ale v případě firefoxu (pro mě na Debianu iceweasel) tento příkaz vypíše pouze čas, kdy nechám firefox otevřít. Pokud spustím:
$ time iceweasel www.google.com
Čas spuštění budu mít až po zavření firefoxu a tento čas bude pouze udávat, jak dlouho jsem nechal firefox otevřený. Například:
real 0m50.565s
user 0m4.276s
sys 0m0.248s
Jak mohu přesně vědět, kolik firefox potřebuje ke spuštění?
Přijatá odpověď:
To je nešikovné a neskriptovatelné.
Firefox může spouštět javascript přes příkazový řádek takto:
firefox "javascript:alert(Date.now())"
Tím se otevře Firefox a spustí javascript, který zobrazí okno se zprávou obsahující aktuální čas epochy na milisekundu.
Počet milisekund uplynulých v době epochy můžete získat na příkazovém řádku pomocí
date +%s%N | cut -b1-13
Chcete-li tedy odpovědět na svou otázku, spusťte
date +%s%N | cut -b1-13; iceweasel "javascript:alert(Date.now())"
Poté odečtěte číslo ve svém terminálu od čísla ve Firefoxu. To vám dává počet milisekund, které Firefox potřeboval k otevření a zobrazení některých základních javascriptů.
Zdroje:
- https://superuser.com/questions/157304/how-can-i-make-firefox-load-javascript-from-the-command-line
- https://stackoverflow.com/questions/3830244/get-current-date-time-in-seconds
- https://serverfault.com/questions/151109/how-do-i-get-current-unix-time-in-miliseconds-using-bash