[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