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
