[Rio-pm] Performance
Lucas Mateus
lucasmateus.oliveira em gmail.com
Sexta Fevereiro 20 09:09:14 PST 2009
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
Mais detalhes sobre a lista de discussão Rio-pm