[Rio-pm] Performance de regex

Blabos de Blebe blabos em gmail.com
Quarta Março 17 20:05:54 PDT 2010


Só confirmando, !(A || B) == !A && !B, segundo o teorema de De Morgan
(ele tem um De na frente mesmo)

2010/3/17 Marcos Machado <listas em istf.com.br>:
> Vamos por partes:
> Alexei, não, o objetivo é pegar começando com STR1 ou contendo STR2. Do
> jeito que fez, acho que vai ser preciso sempre começar com STR1 ou STR2.
> Solli, sim, o resultado é o mesmo. Se a linha não começar com STR1 e não
> contiver STR2 ele imprime. Juntar duas negativas para dar um resultado
> positivo é pegajoso. Realmente ficou horrível.
> Fernando, você está certo. A STR2 até pode começar a linha, mas não é
> obrigatório.
> Neilson, segundo o Eden, Seu Morgan disse que tá certo (e funcionou). :)
> Eden, usei a condição na forma negada pois, como sempre, a coisa foi sendo
> adaptada de outros testes, feitos por outras pessoas, e na hora eu nem me
> toquei em inverter e usar um unless.
> Como foi um job pontual, mesmo em 7 minutos já tava valendo. Só fiquei
> curioso se podia melhorar, já que logo apareceram os bacalhoeiros do
> awk+grep+raio+q+oparta dizendo que eram mais rápidos!
> :P
> Obrigado!
> []s, MM
>
> Em 17 de março de 2010 21:12, Eden Cardim <edencardim em gmail.com> escreveu:
>>
>> 2010/3/17 Eden Cardim <edencardim em gmail.com>:
>> > Não está errado, !/^string1/ && !/string2/ é equivalente a /^string1/
>> > || /string2/, pelas leis de De Morgan, se não me engano, o Perl
>> > otimiza isso (a versão sem negação é mais rápida). Falta saber porque
>> > a preferência por expressar a condição na forma negada.
>>
>> Hm, parece que não otimiza, eu me lembro que tinha visto o Perl mecher
>> em operadores short-cut rodando com -MO=Deparse, mas ele faz outra
>> otimização, não essa.
>>
>> --
>>   Eden Cardim       Need help with your Catalyst or DBIx::Class project?
>>  Code Monkey                    http://www.shadowcat.co.uk/catalyst/
>>  Shadowcat Systems Ltd.  Want a managed development or deployment
>> platform?
>> http://edenc.vox.com/            http://www.shadowcat.co.uk/servers/
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>


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