time je příkaz k určení zdrojů využitých jiným programem. Implicitně vypíše dobu trvání programu nebo příkazu. Používá se v Unix a operačních systémech unixového typu (například Linux, FreeBSD, Mac OS a další).

time
Typ softwarustandardní UNIXová utilita či příkaz
Některá data mohou pocházet z datové položky.

Použití

editovat

Pro spuštění stačí jednoduše před libovolný příkaz zapsat time, jako například:

$ time ls

Až se příkaz dokončí, time vypíše, jak dlouho trvalo provedení příkazu ls z hlediska uživatelského času procesoru, systémového času procesoru a v reálném čase. Výstupní formát se liší mezi různými verzemi příkazu. Některé vracejí další údaje, jako v tomto příkladu:

$ time host wikipedia.org
wikipedia.org has address 208.80.154.224
wikipedia.org has IPv6 address 2620:0:861:ed1a::1
wikipedia.org mail is handled by 10 mx1001.wikimedia.org.
wikipedia.org mail is handled by 50 mx2001.wikimedia.org.

real	0m0.024s
user	0m0.005s
sys	0m0.013s

time(1) může existovat jako samostatný program (například GNU time), nebo jako shell builtin (např. v tcsh nebo zsh).

Uživatelský čas a systémový čas

editovat

Celkový čas procesoru (CPU time) je kombinace množství času procesoru nebo procesorů strávených provedením nějaké akce a množství času, které strávil vykonáváním systémových volání pro jádra.

Reálný čas a čas procesoru

editovat

Termín „reálný čas“ (real time) v tomto kontextu odkazuje na uplynulý wall-clock time, jako kdybychom jej měřili pomocí stopek. Celkový čas procesoru (uživatelský + systémový čas) může být větší nebo menší než je tato hodnota. Je to dáno tím, že program může strávit nějaký čas čekáním a ne průběhem (ať už v uživatelském režimu nebo režimu systému). Proto bude čas procesoru menší než uplynulý reálný čas. Dalším důvodem rozdílu může být paralelní běh procesů na vícejádrových systémech. Zde bude čas procesoru větší než reálný čas.

Reference

editovat

V tomto článku byl použit překlad textu z článku Time (Unix) na anglické Wikipedii.