[Rio-pm] Performance

Fernando Oliveira fernandocorrea em gmail.com
Sexta Fevereiro 20 10:17:24 PST 2009


Vc está usando um map em contexto void, o map guarda o array de resposta na
memoria...

2009/2/20 Lucas Mateus <lucasmateus.oliveira em gmail.com>

> Estou em uma situação prática em que tenho um ARRAY com 750.000 itens, cada
> item deve se submeter a 60 RegExp, obtendo match faço um next.
>
> Os dois codigos abaixo (o mais simples que consegui representar) fazem a
> mesma coisa, porem o EXEMPLO_1 tem performance extremamente inferior que o
> EXEMPLO_2.
>
> Gostaria de saber dos Mongers justificativa para isso. Seria a RegExp
> dinâmica ?
>
>
>
> EXEMPLO_1
> [code]
>
> my @re;    # lista de RegExp 60 itens
> my @paths; # lista de Paths 750.000 itens
>
> foreach my $path (@paths)
> {
>   map
>   {
>      if ($path =~ /^$_$/)
>      {
>          next;
>      }
>   } @re
> }
>
> [/code]
>
>
>
>
>
> EXEMPLO_2
> [code]
> my @paths; # lista de Paths 750.000 itens
>
> foreach my $path (@paths)
> {
>   next if ($path =~ /^regex_1$/);
>   next if ($path =~ /^regex_2$/);
>   next if ($path =~ /^regex_3$/);
>   next if ($path =~ /^regex_4$/);
>   .
>   .
>   .
>   next if ($path =~ /^regex_60$/);
> }
>
> [/code]
>
>
>
>
> --
> Lucas Mateus
> Núcleo de Páginas Rápidas e SEO
> Fone: 55 11 3065-9978
> MSN: lucasmateus_777 em hotmail.com
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Just another Perl Hacker,
Fernando (SmokeMachine)
http://perl-e.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20090220/098ca55b/attachment-0001.html>


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