[SP-pm] Duvida primaria
russoz at gmail.com
russoz at gmail.com
Wed Oct 20 14:58:34 PDT 2010
2010/10/20 russoz em gmail.com <russoz em gmail.com>
[...]
> Os resultados são bem diferentes:
>
> 19:14:32 BRST az em blueturtle:~/tmp/perldev $ ./test-case.pl
> Rate dispatch_hash switch dispatch_array lookup_hash
> lookup_array
> dispatch_hash 1088180/s -- -5% -10% -52%
> -58%
> switch 1147749/s 5% -- -6% -49%
> -56%
> dispatch_array 1215036/s 12% 6% -- -46%
> -53%
> lookup_hash 2265153/s 108% 97% 86% --
> -13%
> lookup_array 2591771/s 138% 126% 113% 14%
> --
>
>
Aparentemente essa rodada acima foi ponto-fora-da-reta. Rodei o teste várias
vezes aqui e um resultado é mais consistentemente parecido com:
19:53:00 BRST az em blueturtle:~/tmp/perldev $ ./test-case.pl
Rate dispatch_hash dispatch_array switch lookup_hash
lookup_array
dispatch_hash 1187751/s -- -14% -24% -60%
-66%
dispatch_array 1373179/s 16% -- -13% -54%
-61%
switch 1571820/s 32% 14% -- -47%
-55%
lookup_hash 2953682/s 149% 115% 88% --
-16%
lookup_array 3518808/s 196% 156% 124% 19%
--
Apesar do switch ganhar com mais folga dos dispatches, ainda assim acho que,
quando olhamos para a legibilidade e extensibilidade do código, continuo em
prol do dispatch. E, se há um requisito muito forte de performance nesse
ponto, sugiro pular logo para uma lookup table, como também dito antes.
[]s,
--
Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [
www.flickr.com/photos/alexeiz]
«Only love / Can bring the rain / That makes you yearn to the sky»
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20101020/9cdc9898/attachment.html>
More information about the SaoPaulo-pm
mailing list