[Moscow.pm] Event and fork

Mons Anderson mons на cpan.org
Пн Ноя 26 07:12:21 PST 2012


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

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

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 <nikzubkov на gmail.com>

> Монс, расскажи хоть, что там за магия, делающая сервер быстрее всего и
> вся? Может кто-то другой идею до ума доведет?
>
> 31 октября 2012 г., 13:44 пользователь Mons Anderson <inthrax на gmail.com>написал:
>
>> 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
>> moscow-pm на pm.org | http://moscow.pm.org
>>
>
>
>
> --
> С уважением,
> Никита Зубков
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>


-- 
Best wishes,
Vladimir V. Perepelitsa aka Mons Anderson
<inthrax на gmail.com>, <mons на cpan.org>
http://github.com/Mons
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20121126/afb3a619/attachment.html>


Подробная информация о списке рассылки Moscow-pm