Re: Типа промежуточные итоги;-)
Yury Kopyl
hrg на sama.ru
Пт Сен 26 00:01:11 CDT 2003
Hello, Yury!
You wrote to "Samara (Russia) Perl Mongers" <samara-pm на mail.pm.org> on Fri,
26 Sep 2003 09:36:28 +0500:
YK> Hello, LaVei!
YK> You wrote to "Samara (Russia) Perl Mongers" <samara-pm на mail.pm.org>
YK> on Thu, 25 Sep 2003 18:26:59 +0500:
L>> Benchmark: timing 500000 iterations of Evgen, LaVei, Yury, hrg...
L>> Evgen: 0 wallclock secs ( 1.23 usr + 0.00 sys = 1.23 CPU) @
L>> 406504.07/s (n=500000)
L>> LaVei: 2 wallclock secs ( 2.11 usr + 0.00 sys = 2.11 CPU) @
L>> 236966.82/s (n=500000)
L>> Yury: 2 wallclock secs ( 0.88 usr + 0.00 sys = 0.88 CPU) @
L>> 568181.82/s (n=500000)
L>> hrg: 3 wallclock secs ( 2.06 usr + 0.00 sys = 2.06 CPU) @
L>> 242718.45/s (n=500000)
L>> Rate LaVei hrg Evgen Yury
L>> LaVei 236967/s -- -2% -42% -58%
L>> hrg 242718/s 2% -- -40% -57%
L>> Evgen 406504/s 72% 67% -- -28%
L>> Yury 568182/s 140% 134% 40% --
YK> Кстате, если интересует быстродействие,а не меньшее кол-во строк
YK> мона сделать еще так:
YK> my $format_str='^'.'>'x ($width-1)."~~\n";
YK> my $del_before=qr{ s/^\s+//};
YK> my $del_after =qr{ s/\s+$//};
YK> my $buf;
YK> foreach my $text (split (/\n/,$text)){
YK> $text=~$del_before;
YK> $text=~$del_after;
YK> formline ($format_str,$text);
YK> $buf.=$^A;
YK> };
YK> print $buf;
YK> И еще - ты сравнивал при одинаковой ширине при разбиении для всех
YK> алгоритмов?
Поправка к последнему варианту:
my $format_str='^'.'>'x ($width-1)."~~\n";
my $del_before=qr /^\s+/o;
my $del_after =qr /\s+$/o;
my $buf;
foreach my $text (split (/\n/,$text)){
$text=~s/$del_before//;
$text=~s/$del_after//;
formline ($format_str,$text);
$buf.=$^A;
};
print $buf;
YK> With best regards, Yury Kopyl. E-mail: hrg на sama.ru
With best regards, Yury Kopyl. E-mail: hrg на sama.ru
Подробная информация о списке рассылки Samara-pm