On Wed, 08 Jun 2011 16:02:29 +0300, Ruslan Zakirov wrote:
2011/6/8 Aleksander Gorohovski <[email protected]>:
comparing array sum with 10 element(s)
Rate for loop sum util
for loop 627562/s -- -83%
sum util 3594095/s 473% --
comparing array sum with 100 element(s)
Rate for loop sum util
for loop 96701/s -- -92%
sum util 1226353/s 1168% --
Премного благодарен.
:)
Подскажите, а с помощью чего такую
сравнительную статистику можно получить / воспроизвести?
use Benchmark qw/cmpthese/;
use List::Util qw(sum);
foreach my $up_to (1, 3, 10, 100) {
print "comparing array sum with $up_to element(s)\n";
my @a = (1 .. $up_to);
cmpthese(
-3,
{
'for loop' => sub { my $s = 0; $s+=$_ for @a; return $s },
'sum util' => sub { return sum(0, @a ) },
}
);
}
и что означают отрицательные % ? --- это считается плохо/хорошо?
-75% - А медленне B на 75%. То есть A = B*(100-75)/100. Соответственно
B быстрее А на 300% - B = A*(300/100+1), где A и B скорости
алгоритмов.
Премного благодарен.
Удивительный расклад :)
Интересно за счёт чего ж
получается такой прирост производительности?
Неужто в List::Util подпрограммы встроены на C
?
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org