[Moscow.pm] XS как переименовать модуль?
Ivan Petrov
i.petro.77.00 на gmail.com
Чт Фев 3 22:51:21 PST 2011
> > > Локализуйтесь, с присвоением по значению, и в замыкание ее - никто
> итератор не собьет,
> > > локальная переменная ИМХО физически недоступна вне блока.
> >
> > присвоение хеша по значению пожалуй по расходам накладным хуже чем проход
> по хешу по индексам. по памяти во всяком случае :)
> >
> > хотя я в итоге к этому примерно и пришел. только локализую не само
> содержимое хеша, а массив ссылок на значения и ключи.
> >
> как бы фик знает, мерять надо и делать выбор в зависимости от того, на чем
> экономим.
>
> Я рассуждал о том, что раз Ваше решение к Event-машине привязывается, то
> можно пожертвовать памятью в угоду скорости. Да и ИМХО память дешевле
> циклов, ее можно напихать сейчас по самые 64 бита.
>
> а вот тут имхо Вы не правы.
как раз в EM память и надо в первую очередь экономить даже если ее напихано
куча. ибо вся выделенная память приатачивается к одному процессу, а
event-машина может обслужить гораздо больше клиентов и если каждый из
клиентов потребует +1Мб памяти, то сто клиентов это +100Мб :)
одна старушка - рупь ;)
кстати я тут как раз сейчас возявкаюсь над вопросом работы с памятью:
собрали серверок на EM, использовали несколько сторонних модулей. память
где-то "подтекает".
если в обычном сервере а-ля apache с утечкой бороться можно просто: взял и
ограничил число обработанных соединений на один pre-fork-процесс, то EM так
просто не перезапустишь.
ща пришли к такому варианту перезапуска:
* пишем свой tcp_server (поскольку Марк в AE отказался подобавлять
каллбеки): нужно чтобы он мог пуститься с готовым сокетом, а так же
"спрашивал разрешения" на accept.
* в определенный момент машина перестает делать accept'ы (клиенты копятся в
очереди)
* как только все соединения обработаны делаем fcntl на сокет чтобы он мог
пережить exec
* делаем exec на самого себя и запускаем tcp_server с открытым сокетом.
по идее клиенты должны "заметить" разве что некоторый простой на периоде
установления соединения.
как-то так.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20110204/b2289ecc/attachment-0001.html>
Подробная информация о списке рассылки Moscow-pm