<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div class="h5">
&gt; &gt; Локализуйтесь, с присвоением по значению, и в замыкание ее - никто итератор не собьет,<br>
&gt; &gt;  локальная переменная ИМХО физически недоступна вне блока.<br>
&gt;<br>
&gt; присвоение хеша по значению пожалуй по расходам накладным хуже чем проход по хешу по индексам. по памяти во всяком случае :)<br>
&gt;<br>
&gt; хотя я в итоге к этому примерно и пришел. только локализую не само содержимое хеша, а массив ссылок на значения и ключи.<br>
&gt;<br>
</div></div>как бы фик знает, мерять надо и делать выбор в зависимости от того, на чем экономим.<br>
<br>
Я рассуждал о том, что раз Ваше решение к Event-машине привязывается, то можно пожертвовать памятью в угоду скорости. Да и ИМХО память дешевле циклов, ее можно напихать сейчас по самые 64 бита.<br>
<div><div></div><br></div></blockquote></div>а вот тут имхо Вы не правы.<br>как раз в EM память и надо в первую очередь экономить даже если ее напихано куча. ибо вся выделенная память приатачивается к одному процессу, а event-машина может обслужить гораздо больше клиентов и если каждый из клиентов потребует +1Мб памяти, то сто клиентов это +100Мб :)<br>
одна старушка - рупь ;)<br><br>кстати я тут как раз сейчас возявкаюсь над вопросом работы с памятью:<br>собрали серверок на EM, использовали несколько сторонних модулей. память где-то &quot;подтекает&quot;.<br><br>если в обычном сервере а-ля apache с утечкой бороться можно просто: взял и ограничил число обработанных соединений на один pre-fork-процесс, то EM так просто не перезапустишь.<br>
<br>ща пришли к такому варианту перезапуска:<br> * пишем свой tcp_server (поскольку Марк в AE отказался подобавлять каллбеки): нужно чтобы он мог пуститься с готовым сокетом, а так же &quot;спрашивал разрешения&quot; на accept.<br>
 * в определенный момент машина перестает делать accept&#39;ы (клиенты копятся в очереди)<br> * как только все соединения обработаны делаем fcntl на сокет чтобы он мог пережить exec<br> * делаем exec на самого себя и запускаем tcp_server с открытым сокетом.<br>
<br>по идее клиенты должны &quot;заметить&quot; разве что некоторый простой на периоде установления соединения.<br><br>как-то так.<br>