[Moscow.pm] Быстрая конкатенация строк
Andrey Kovbovich
akovbovich на gmail.com
Вт Мар 10 09:59:01 PDT 2015
Интересно, получается конкатенировать более чем в 2 раза быстрее
последовательно (selfcat), а не разом ($z = $x . $y);
Warstone, я писал про использование сабстр с параметром replace (4ый). А ты
почему-то используешь в примерах 3х-арный вариант.
2015-03-10 19:48 GMT+03:00 PEF Secure <pef-secure на yandex.ru>:
> On Tuesday, March 10, 2015 17:03:36 Andrey Kovbovich wrote:
> > Кто-нибудь знает, за счет чего substr быстрее?
> >
> > $ perl -MBenchmark=cmpthese
> >
> -wE'my$x="0"x1_000_000;my$b="1"x100_000;cmpthese(10000,{concat=>sub{my$z=$x.
> >
> $b;},substr=>sub{my$z="";substr$z,(length$z),(length$x),$x;substr$z,(length$
> > z),(length$b),$b;},join=>sub{my$z=join("",$x,$b)}});' Rate join concat
> > substr
> > join 3922/s -- -0% -58%
> > concat 3937/s 0% -- -57%
> > substr 9259/s 136% 135% --
>
> selfcat => sub {my$z=$x; $z.=$b;}
>
> вот примерный аналог твоего substr
>
> --
> PEF Developer
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20150310/d70fa91b/attachment.html>
Подробная информация о списке рассылки Moscow-pm