Re: Типа промежуточные итоги;-)

Yury Kopyl hrg на sama.ru
Сб Сен 27 18:49:24 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