perl vs grep

Alexandr Malusek malusek na hroch.ujf.cas.cz
Čtvrtek Duben 26 18:18:53 CEST 2001


koala na fi.muni.cz (Ondrej Koala Vacha) writes:

> 
> Tak jsem taky zkusil:
> 
> $ l test.dump
> -rw-r--r--    1 root     root     210619947 Apr 24 21:21 test.dump
> tedy cca 210M
> 
> darkstar:/pub
> $ time grep -e 'CREATE' test.dump
> ...
> real    0m44.315s
> user    0m0.510s
> sys     0m1.640s
> darkstar:/pub
> $ time perl -ne 'print if /CREATE/' test.dump
> ...
> real    0m52.759s
> user    0m24.910s
> sys     0m1.570s
> 
> 
> tak nevim. grep je sice rychlejsi, ale ne o tolik. Uvazuji, zda tam nemuze
> zalezet na delce radku nebo tak.

Chybne interpretujete casove udaje - grep potreboval 0.510+1.640 =
2.15s CPU casu (user+sys). Cela uloha trvala 44.315s (real) protoze se
(pokud nebyl pocitac silne zatizen jinymi procesy) cekalo na
disk. Perl naopak potreboval 24.910 + 1.570 = 26.48s CPU casu. V
jistem smyslu lze proto rict, ze grep je 26.48/2.15 = 12.32 krat
rychlejsi, i kdyz obema procesum to trvalo priblizne stejnou dobu ;-).

Samozrejme se da diskutovat o vlivu IDE & SCSI disku na sys cas ....,
ale o to mi ted nejde. Hlavni je nezapominat na vliv rychlosti disku,
mnozstvi RAM, zatez pocitace, ... ktere ovlivnuji celkovy cas, ktery
tudiz neni dobrou mirou.

--
A. Malusek  (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux