[Moscow.pm] sum of array

Akzhan Abdulin akzhan.abdulin на gmail.com
Ср Июн 8 08:44:36 PDT 2011


List::Util::XS вроде как находится в том же пакете, если банально глянуть на
состав rpm, например.
Так что да, скорее всего, на большинстве машин используется реализация на
Си.

8 июня 2011 г. 19:33 пользователь Aleksander Gorohovski <
angel на feht.dgtu.donetsk.ua> написал:

> On Wed, 08 Jun 2011 16:02:29 +0300, Ruslan Zakirov wrote:
>
>  2011/6/8 Aleksander Gorohovski <angel на feht.dgtu.donetsk.ua>:
>>
>>> 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
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20110608/da35d73e/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm