Welcome! Log In Create A New Profile

Advanced

Re: embedded javascript

Peter Leonov
February 09, 2010 09:06AM
On 09.02.2010, at 14:06, Igor Sysoev wrote:

> Я сейчас изучаю v8 на предмет встраивания в nginx
Ура!!! :)

Тока у v8 есть один неприятный недостаток: он не умеет предупреждать, когда освобождает память под объектом. То есть надежные деструкторы там пока сделать нельзя (есть, правда извороты, но они недокументированные). В принципе, это ничем не грозит, если не будет ситуаций, когда яваскрипт просит энжинкс «попредержать» освобождение запроса.

> и у меня возник вопрос
> по поводу интерфейса - как лучше связать запрос с javascript'ом:
>
> 1) сделать предопределённый объект request, по аналогии с браузерными window
> и document.
> 2) или передавать его первым параметром функции, как в перле и в одной
> из реализаций nginx/v8:
> function handler(request)
> http://code.google.com/p/ngxv8/source/browse/trunk/examples/simple.js

ИМХО, второй.

Если использовать первый вариант, то в разные моменты времени глобальная переменная будет указывать на разные запросы. Ее придется выставлять, когда пришел таймер. А иногда она будет вообще пустой или указывать на отработавший запрос. И в любом случае ее придется пересохранять, чтобы запомнить в замыкание. А что будет, если вернутся треды… ;)

Первый способ легко построить на основе второго практически бесплатно, а вот наоборот будет сложнее (учитывая глобальные и запросовые таймеры, колбеки подзапросов и приема тела).

А еще глобальные переменные по определению медленнее параметра функции ;)

> Какой из этих способов можно также реализовать в TraceMonkey ?
Любой.

Собственно, вот все мои мысли касательно связки нативный запрос + яваскриптовая обвязка.
http://kung-fu-tzu.ru/posts/2009/12/03/nginx-spidermonkey-memory-management/

>
>
> --
> Игорь Сысоев
> http://sysoev.ru

С уважением,
Петр Леонов.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

embedded javascript

Igor Sysoev February 09, 2010 06:08AM

Re: embedded javascript

akalend February 09, 2010 06:10AM

Re: embedded javascript

Sergey Shepelev February 09, 2010 06:40AM

Re: embedded javascript

Peter Leonov February 09, 2010 09:06AM

Re: embedded javascript

Igor Sysoev February 09, 2010 09:28AM

Re: embedded javascript

Peter Leonov February 09, 2010 10:32AM

Re: embedded javascript

Igor Sysoev February 09, 2010 02:12PM

Re: embedded javascript

Peter Leonov February 10, 2010 01:32AM

Re: embedded javascript

Igor Sysoev February 10, 2010 06:56AM

Re: embedded javascript

Peter Leonov February 10, 2010 07:40AM

Re: embedded javascript

Andrey Nigmatulin February 09, 2010 09:30AM

Re: embedded javascript

Anton Bessonov February 09, 2010 12:06PM

Re: embedded javascript

Peter Leonov February 09, 2010 02:10PM

Re: embedded javascript

Anton Bessonov February 09, 2010 02:30PM

Re: embedded javascript

Peter Leonov February 10, 2010 02:46AM

Re: embedded javascript

Andrey N. Oktyabrski February 10, 2010 04:18AM

Re: embedded javascript

Igor Sysoev February 10, 2010 05:46AM

Re: embedded javascript

Andrey N. Oktyabrski February 10, 2010 07:12AM

Re: embedded javascript

Kirill A. Korinskiy February 12, 2010 02:52AM

Re: embedded javascript

Andrey N. Oktyabrski February 12, 2010 05:18AM

Re: embedded javascript

Peter Leonov February 10, 2010 08:16AM

Re: embedded javascript

Igor Sysoev February 11, 2010 03:50AM

Re[2]: embedded javascript

Михаил Монашёв February 11, 2010 04:04AM

Re: embedded javascript

Igor Sysoev February 11, 2010 04:26AM

Re: embedded javascript

Andrew Sitnikov February 11, 2010 04:08AM

Re: embedded javascript

Igor Sysoev February 11, 2010 04:26AM

Re: embedded javascript

Peter Leonov February 11, 2010 10:16AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 185
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready