Но вообще еще более удивительно делать выбор на основании производительности ;)
Для меня основным критерием является читаемость кода по прошествии полугода. Если код читаем, значит, удобен в поддержке. Это перекрывает большинство иных преимуществ. 8 июня 2011 г. 19:44 пользователь Akzhan Abdulin <[email protected]>написал: > 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
