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

8 июня 2011 г. 19:33 пользователь Aleksander Gorohovski <
[email protected]> написал:

> 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
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить