[Cascavel-pm] Somar elementos numericos de um array

Patty Silva ptfzs em yahoo.com.br
Segunda Abril 9 09:00:57 PDT 2007


Relamente,,, a msg chegou atrasada :D


Obrigada pela dica... nunca tinha usado 

use Benchmark qw(:all);


Thanks.. :D


Igor Sutton Lopes <igor.sutton em gmail.com> escreveu: 
On 2007/04/09, at 16:42, Patty Silva wrote:

> Qual seria o + eficiente?
>

Talvez você não tenha lido minha resposta antes, mas List::Util sum()  
é mais eficiente pois utiliza XS.


use strict;
use warnings;

use List::Util qw(sum);
use Benchmark qw(:all);

my @numbers = ( 1 .. 1_000 );

cmpthese(
     -3,
     {
         'map' => sub {
             my $result;
             map { $result += $_ } @numbers;
         },
         'for' => sub {
             my $result;
             $result += $_ for @numbers;
         },
         'sum' => sub {
             my $result = sum(@numbers);
         },
     }
);


Resultado:

         Rate   map   for   sum
map   5269/s    --  -12%  -97%
for   5986/s   14%    --  -96%
sum 153292/s 2809% 2461%    --

--
Igor Sutton
igor.sutton em gmail.com



_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm

 __________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070409/6cbdb3dc/attachment.html 


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