Nebyl nalezen subjekt
Pavel Smerk
xsmerk na fi.muni.cz
Čtvrtek Únor 12 00:15:48 CET 2009
Ahoj,
s prekvapenim zjistuju, ze grep -E je vyrazne rychlejsi nez perl:
$ time perl -ne 'print if /^(stavitel|krtek)[[:space:]]/' milionradkovysoubor.txt
krtek 158
stavitel 314
real 0m0.568s
user 0m0.560s
sys 0m0.010s
$ time egrep '^(stavitel|krtek)[[:space:]]' milionradkovysoubor.txt
krtek 158
stavitel 314
real 0m0.052s
user 0m0.040s
sys 0m0.020s
Lze nejak prostredky Perlu dosahnout rychlosti, kterou to zvlada grep -E?
(Grep -P nemam k dispozici, tak to jsem nesrovnaval, ale staci mi -E.) Pokud
ne, proc (kdyz to jde obecne, proc to perl pro jednoduche RE nevyuziva)?
Pokud ano, jak?
Priznavam, ze nijak zvlast jsem to netestoval (jestli treba na vetsich
datech by se ten (ne)pomer nezmensil, ze napr. perl startuje dele nebo tak
neco) --- podle googlu se zda, ze je to znama skutecnost, takze i kdyz jsem
vysvetleni nenasel, predpokladam, ze tady ho nekdo znat bude. :-)
Diky, P.
Další informace o konferenci Perl