Нет никакой магии.

Просто нужно знать и понимать, что, например, быстрее

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

Ответить