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