[Moscow.pm] Склеивание строк в perl5.8
Maxim Duyunov
diver на rambler-co.ru
Вс Окт 26 11:36:22 PDT 2008
Могу посоветовать использовать вариант с выводом в переменную.
'sprintf' => sub {
my $scalar_p = '';
for (my $i=0; $i < 1000; $i++) {
$scalar_p .= sprintf("%s", @test_data);
}
return $scalar_p;
},
Rate array array_2 perl_io concat join perl_io_2 sprintf
array 41.5/s -- -35% -45% -61% -84% -84% -94%
array_2 63.9/s 54% -- -15% -40% -75% -75% -90%
perl_io 74.9/s 80% 17% -- -30% -71% -71% -89%
concat 107/s 157% 67% 43% -- -59% -59% -84%
join 258/s 521% 303% 244% 142% -- -1% -62%
perl_io_2 260/s 527% 307% 248% 144% 1% -- -61%
sprintf 673/s 1520% 952% 798% 530% 161% 158% --
> А мне кажется, что быстрее всего такой вариант:
>
> 'join' => sub {
> my $scalar_c = '';
> for (my $i=0; $i < 1000; $i++) {
> $scalar_c .= join '', @test_data;
> }
> return $scalar_c;
> },
>
> И тестам тоже так кажется ;)
---
С уважением,
Дуюнов Максим.
Подробная информация о списке рассылки Moscow-pm