On Thu, Apr 21, 2011 at 3:43 AM, MartinWhatever <[email protected]> wrote:

> i'm currently deciding if i'm going to switch from spidermonkey to V8.
>

i've used SpiderMonkey extensively, and in my opinion, usages of the
libraries are remarkably similar. e.g. when i started porting my
SpiderMonkey bindings for ncurses and sqlite3 to v8, i found that it was
more or less a 1-to-1 port. Only the callback signatures changes. Since i
use a templates-based framework to convert between C++/JS types, none of
that code code in the bindings had to change (the templates were ported to
use v8 instead).


> i really would like to use V8, but if it's not going to be threadsafe
> within a year or so there is absolutely no way that i can use it, and
> that's a shame :(
>

You can use threads, they just can't in the VM at the same time. A thread
which only needs to run non-v8 code (e.g. making system calls) can unlock
the v8 engine so that other threads can use it.


> i simply cannot use it, i don't want users to have to wait for the
> execution of a slow function to complete before the application
> becomes responsive again.
>

That's JavaScript by design. JS has NO primitives to support threading at
the script level, e.g. mutexes. Even if your engine allows multi-threaded
access, your scripts cannot guaranty proper behaviour in the face of threads
if those threads use any common data.

-- 
----- stephan beal
http://wanderinghorse.net/home/stephan/

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to