Prikaz time
Milos Urbanek
urbanek at openbsd.cz
Wed Aug 7 11:20:49 CEST 2002
On Wed, Aug 07, 2002 at 02:00:06AM +0200, Leo Galambos wrote:
> Zdravim,
>
> mam mozna vice obecny problem nez problem primo s freeBSD. Potreboval bych
> nejak rozhodnout, ktery program je "lepsi" (tedy na zaklade empirickych
> hodnot rict kvalifikovane odpoved - nikoliv dohad). Zkousel jsem to s
> prikazem `time`, ale nechapu moc jeho vystup - jinymi slovy neumim
> "precist" nastavajici situaci:
>
> Program A dava pro time(1) radove tyto hodnoty:
> real RA hodin
> user UA minut
> sys SA sekund
>
> Program B dava:
> real, user a sys postupne RB, UB, SB
>
> Situace je tato:
> RA = 3 * RB
> UA = 3/4 * UB
> SA * 3 = SB
>
> Cemu nerozumim je obracena umera u real a sys casu, takze pak nevim co je
> vlastne lepsi. Take si nejsem jist jestli lze neco vyvodit z pomeru UA/SA
> a UB/SB. Znamena to, ze u A se stroj mene nadre? Znamena to, ze na
> silnejsim stroji se vice "zrychli" A nez B?
>
> Ze je doba behu programu A trikrat delsi nez u B me moc netrapi, jestli je
> ale A lepe "stravitelny" pro vlastni O/S (a bezi tak s mensimi naroky).
>
> Uvitam jakoukoliv radu nebo odkaz, kde lze zjistit podrobnosti jak ta
> namerena cisla vlastne "precist".
Nechci vestit, jestli A je lepsi nez B, ale pri pohledu do zdrojaku
bych rek, ze time(1) funguje takto:
real time je celkovy cas, ktery ubehne od stusteni programu
do jeho ukonceni - tzn. od spusteni prikazu time(1) az do jeho ukonceni.
user time je cas, po ktery bezi spusteny program (A nebo B) v user modu.
system time je cas, po ktery bezi spusteny program v rezimu jadra.
zrejme
realtime >= user time + system time
vetsinou ale realtime >> user time + system time, protoze do real time
je zapocitana i doba, kdy spusteny proces ceka a system nezatezuje.
tak nejak neurcite lze rici, ze kdyz je
* realtimeA < realtimeB, tak celkovy beh programu A je pomalejsi
* systemtimeA < systemtimeB, tak program A tolik nezatezuje system
vyrizovanim systemovych volani a je rekneme 'setrnejsi' k dalsim procesum,
* usertimeA < usertimeB, tak program A neprovadi natolik komplexni nebo
zdlouhavy vypocet jako program B.
jinak co se tyce toho vesteni, jestli " A lepe "stravitelny" pro vlastni
O/S" a jak vlastne interpretovat vztah mezi narustem vykonu a temito
cisly, tak tady opravdu o tom nelze rici nic urciteho, pokud nezmapujete
chovani programu, nepustite na to nejaky profiler, ktrace apod.
time(1) da jenom informaci o zkonzumovanem case; nic vic..
hope that helps.
Milos
--
More information about the Users-l
mailing list