Задача - приходят от I/O куски данных, и нужно их буферизировать перед обработкой. Вопрос как это сделать эффективно (идеально - без копирования).
10 марта 2015 г., 20:20 пользователь Dmitry Smal <[email protected]> написал: > А что у вас за задача такая ? > Есть ооочень много конкатенаций подряд идет (в цикле например) - то нужно > оптимизировать сам алгоритм склейки. > Если не нагружен - оставить более читаемый вариант =) > > > 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]>: > >> 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] | http://moscow.pm.org >> > > > > > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
