[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