[Moscow.pm] Быстрая конкатенация строк
Dmitry Smal
mialinx на gmail.com
Вт Мар 10 10:20:02 PDT 2015
А что у вас за задача такая ?
Есть ооочень много конкатенаций подряд идет (в цикле например) - то
нужно оптимизировать сам алгоритм склейки.
Если не нагружен - оставить более читаемый вариант =)
On 03/10/2015 07:59 PM, Andrey Kovbovich wrote:
> Интересно, получается конкатенировать более чем в 2 раза быстрее
> последовательно (selfcat), а не разом ($z = $x . $y);
>
> Warstone, я писал про использование сабстр с параметром replace (4ый).
> А ты почему-то используешь в примерах 3х-арный вариант.
>
> 2015-03-10 19:48 GMT+03:00 PEF Secure <pef-secure на yandex.ru
> <mailto: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 <mailto:moscow-pm на pm.org> | http://moscow.pm.org
>
>
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20150310/93b12a66/attachment.html>
Подробная информация о списке рассылки Moscow-pm