incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From andy e <virtuala...@gmail.com>
Subject Re: purely curious - couch/spidermonkey vs node/v8
Date Fri, 03 Sep 2010 05:12:52 GMT
Interesting, thanks for the feedback. Always cool to hear why/how
decisions were made with these sorts of projects.

Andy

On Thu, Sep 2, 2010 at 11:35 AM, J Chris Anderson <jchris@apache.org> wrote:
>
> On Sep 1, 2010, at 11:17 PM, Paul Davis wrote:
>
>> On Thu, Sep 2, 2010 at 1:47 AM, andy e <virtualandy@gmail.com> wrote:
>>> I've got no real issue or concern, was just purely curious and was
>>> thinking about couch's use of SpiderMonkey as the JS engine tonight.
>>>
>>> Is there a reason why couchdb uses spidermonkey, vs v8 (as node.js is
>>> using)? Is it license related? Too much work for too little gain? Was
>>> V8 not around when choosing an engine (likely, given the timelines...I
>>> think)?
>>>
>>> Anyway, just curious.
>>>
>>> thanks,
>>>
>>> andy
>>>
>>
>> Mostly it's history related. CouchDB used Spidermonkey before V8 even
>> existed. Reasons for sticking with Spidermonkey involve packaging and
>> multi-threading. V8 being newer doesn't have packages available on
>> semi recent distributions. I don't have my netbook awake so I can't
>> check that it even has one for Ubuntu 10.04. I know that node.js
>> packages an entire V8 source checkout as part of the distribution
>> which package managers are not fond of. Also AFAIK, its not yet got
>> multi-threading support. The current CouchDB use doesn't require this,
>> but there are a couple different experiments running that do. There's
>> also (again, IIRC) no support for E4X which has been
>> semi-officially-kinda-sorta-expected in the CouchDB interpreter for
>> things like generating RSS feeds.
>>
>
> I'll add that Spidermonkey is probably  faster than v8 for map reduce, as it has the
tracing jit. V8 is designed to be fast for web pages, not long running processes.
>
> That said, it should be "trivial" to make a node.js query server, just as it is to make
a python or ruby query server.
>
> Here is the test suite:
>
> http://github.com/apache/couchdb/blob/trunk/test/view_server/query_server_spec.rb
>
>> But bottom line, it was deemed the best engine when it was chosen and
>> a couple things have evolved such that it'll be hard to move away
>> until one of the other engines catches up in multiple categories.
>>
>> HTH,
>> Paul Davis
>
>

Mime
View raw message