А что у вас за задача такая ?
Есть ооочень много конкатенаций подряд идет (в цикле например) - то
нужно оптимизировать сам алгоритм склейки.
Если не нагружен - оставить более читаемый вариант =)
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 <[email protected]
<mailto:[email protected]>>:
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
[email protected] <mailto:[email protected]> | http://moscow.pm.org
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org