Нет никакой магии. Просто нужно знать и понимать, что, например, быстрее
substr($a,0,10,"") или $a = substr($a,10); substr($a,0,1000,"") или $a = substr($a,1000); sysread( $fh, $buf, $size, length($buf) ) или sysread( $fh, my $newbuf, $size ); $buf .= $newbuf; и все это собрать вместе. - Никаких лишних модулей. - Никаких лишних объектов. - Минимум переменных. - Минимум вызовов. - Минимум копирований памяти и перевыделений памяти. - Наиболее быстрый доступ к много раз используемым переменным - Выбор наиболее вероятных сценариев (напр. syswrite() можно практически всегда, без проверки на AE::io 1). 2012/11/26 Nikita Zubkov <[email protected]> > Монс, расскажи хоть, что там за магия, делающая сервер быстрее всего и > вся? Может кто-то другой идею до ума доведет? > > 31 октября 2012 г., 13:44 пользователь Mons Anderson > <[email protected]>написал: > >> On 10/31/2012 04:09 PM, Алексей Шруб wrote: >> > Когда-то было: >> > >> > Mons Anderson mons на rambler-co.ru Ср Ноя 23 03:52:08 PST 2011: >> >> Проблемы судя по профайлеру в AE::Handle. >> >> Вообще по хорошему к базовым вещам AE (таким как Handle, Socket, ...) >> нужно писать XS версии. >> >> PS: спасибо за наводку: подумаю на тему отказаться от AE::Handle в >> своей реализации. >> > что-нибудь придумал? >> > >> >> Да, давно уже ) >> >> у меня есть черновик HTTP-сервера, который получился быстрее и twiggy и >> starman и node.js >> есть замена Handle, которая на 200% быстрее. >> и это пока без XS. >> есть XS'ные наброски по этой-же теме. >> >> руки дойдут - соберу модули и выложу. >> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org >> > > > > -- > С уважением, > Никита Зубков > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > -- Best wishes, Vladimir V. Perepelitsa aka Mons Anderson <[email protected]>, <[email protected]> http://github.com/Mons
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
