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
