embedded javascript
Igor Sysoev
igor на sysoev.ru
Чт Фев 11 11:48:46 MSK 2010
On Wed, Feb 10, 2010 at 04:14:52PM +0300, Peter Leonov wrote:
> On 10.02.2010, at 13:45, Igor Sysoev wrote:
>
> > … Сейчас есть встроенный перл, у которого есть один существенный
> > недостаток: он внутри себя далеко не всегда проверяет результат выделения
> > памяти, что приводит к segfault'ам в ситуации, когда памяти не хватает.
> >
> > У v8 этой проблемы по идее быть не должно, там такие вещи должны
> > обрабатываться на уровне исключений, но я пока это ещё не проверил.
> Совсем забыл обратить ваше внимание на то, что новый спайдерманки
> (который трейсманки) теперь тоже внутри весь на С++. То есть он тоже имеет
> шанс стать устойчивыми к нехватке памяти.
>
> По своему небольшому опыту скажу, что простые тесты на нехватку памяти он
> сумел пережить без сегфолта. В тесте заполнялся большой массив внутри
> маленькой виртуалки с линуксом.
>
> А еще, один воркер энжинкса со встроенным спайдерманки сумел не прибавить
> в весе за выходные под http_perf на локейшны с разными хитрыми операциями,
> типа, подзапросов, таймеров, сендфайла и т.д. То есть вполне солидно.
В общем, v8 оказался не так хорош, как про него рассказывали - с памятью
у него проблемы. При нехватке по умолчанию делает abort(3). Можно поставить
свой обработчик, но сделать в нём что-то осмыссленное, кроме того же выхода,
нельзя. Игрушечный модуль, наверное, на v8 сделаю: столько времени потратил
на изучение. Посмотрим, что как обстоят дела со Spider/TraceMonkey.
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru