[Rio-pm] Performance de regex

Solli Honorio shonorio em gmail.com
Quarta Março 17 14:44:52 PDT 2010


Marcos,

Vc teve o mesmo resultado no conteúdo final ? Pois para mim parece coisas
bem diferentes, no segundo caso vc só está imprimindo se ambas as condições
forem verdadeiras, então se a linha não começar com string1 ele pula para a
próxima !

Solli M. Honório

Em 17 de março de 2010 19:10, Marcos Machado <listas em istf.com.br> escreveu:

> Queridos,
>
> Precisei fazer uma alteração em um arquivo texto (bem grande)
> excluindo todas as linhas começando com "string1" ou contendo
> "string2".
>
> Meu primeiro chute foi:
>
> <code>
> cat OLD.log | perl -nle 'print if !/^string1|string2/;' > NEW.log
> </code>
>
> Levou 7 minutos. Depois testei com:
>
> <code>
> cat OLD.log | perl -nle 'print if !/^string1/ && !/string2/;' > NEW.log
> </code>
>
> O mesmo arquivo resultou, mas em apenas 30 segundos!
>
> Esse OU dentro da regex é mesmo muito mais lento ou fiz besteira?
>
> []s, MM
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20100317/626ef2b7/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm