couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benoit Chesneau <>
Subject Re: Branch to switch from SpiderMonkey to Node.js
Date Fri, 25 Jan 2013 11:33:03 GMT
opinion D:  we can use full v8 for views because to be honnest we don't
really need  node just for views. And for other cases like couch apps but
also couch scripts we can improve the protocol so we can handle it
asynchronously in the language you want. Which may be imply to ship node.

In this case we can ship couchdb with a tagged version of v8 directly
(which wasn't possible with spidermonkey due to license problem).

Another reason to use v8 is that v8 separate processes from each others, a
vm doesn't know anything about IO which also solves a lot of headaches when
we come on the security territories (ie sandboxing). Where in node we will
have to add another layer to have the same separation.

For those who want to play with v8 and erlang you can do try it with erlv8
[1] , not the best implementation (even according its author) but it should
be possible to create a view server based on that.

- benoit

On Fri, Jan 25, 2013 at 12:18 PM, Jason Smith <> wrote:

> This whole branch is an experiment. That is the main point.
> My **tentative** position is that V8 is a waste of time. We should use
> Node.js, not V8. In other words, we should not change couchjs to link
> against instead of Instead, we should **remove** the
> couchjs binary and build a 100% compatible node version. Again, this is my
> *suspicion* but I want to explore it more.
> Embedding V8 is, roughly, the same work as embedding SpiderMonkey. It does
> not change much. We still depend on an obscure VM with a quirky build
> system.
> Maybe we should not embed JavaScript anymore. Maybe we should just depend
> on Node.js being installed. Compare these two statements to a new user:
> Option A: "To build CouchDB, you must have the the SpiderMonkey libjs
> library installed, version x.y.z"
> Option B: "To build CouchDB, you must have the V8 libraries installed,
> version x.y.z"
> Option C: "To run CouchDB, you must have Python on your system"
> Everybody has Python installed! Yay!
> So now, just substitute "Node.js" for "Python" and it is a similar
> situation. IMO in a couple years Node.js will be nearly as ubiquitous.
> On Fri, Jan 25, 2013 at 11:10 AM, Dirkjan Ochtman <
> >wrote:
> > On Fri, Jan 25, 2013 at 12:06 PM, Jason Smith <> wrote:
> > > This is an experiment just to see how things feel. I want to see how it
> > > feels to stop saying "CouchDB requires
> > > libjs185/xulrunner/spidermonkey/whatever" and start saying "CouchDB
> > > requires Node.js."
> >
> > What do we need Node.js for, over just v8?
> >
> > Cheers,
> >
> > Dirkjan
> >
> --
> Iris Couch

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message