[Cascavel-pm] Somar elementos numericos de um array
Igor Sutton Lopes
igor.sutton em gmail.com
Segunda Abril 9 08:58:52 PDT 2007
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.
<code>
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);
},
}
);
</code>
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
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome : PGP.sig
Tipo : application/pgp-signature
Tam : 186 bytes
Descr.: This is a digitally signed message part
Url : http://mail.pm.org/pipermail/cascavel-pm/attachments/20070409/874dde4b/attachment.bin
Mais detalhes sobre a lista de discussão Cascavel-pm