Thank you peter, C++ binding is another choice I would consider, if I make sure it's hard to remove v8 heap limit right now or in near future and split process has unacceptable overhead.
On Thursday, August 22, 2013 1:23:21 PM UTC+8, Peter Rust wrote: > > > as well as quite a few others on npm: > https://npmjs.org/search?q=hashtable. > > Ok, maybe not "quite a few" -- most of the other ones are implemented in > Javascript. The only C++ ones I could find were > > > - https://npmjs.org/package/hashtable ( > https://github.com/isaacbwagner/node-hashtable) > - https://npmjs.org/package/dht (https://github.com/tilgovi/node-dht) > > A github search for "hash table" returns 107 C hits and 64 C++ hits, so > there are a lot to choose from, you would just need to write node > bindings<http://nodejs.org/api/addons.html>. > Here are some pages that may be helpful if you're interested in picking & > choosing: > > - a great breakdown of the performance characteristics of the top hash > table > implementations<http://preshing.com/20110603/hash-table-performance-tests> > - a detailed comparison of a Judy Array and a fine-tuned hash > table<http://preshing.com/20130107/this-hash-table-is-faster-than-a-judy-array> > - a different comparison of hash table > libraries<http://attractivechaos.wordpress.com/2008/08/28/comparison-of-hash-table-libraries/> > . > > -- peter > > On Wednesday, August 21, 2013 10:04:17 PM UTC-7, Peter Rust wrote: >> >> If all you need is a hash table, there are a lot of hash table C/C++ >> libraries that you could integrate with Node (like >> Judy<http://judy.sourceforge.net/>) >> and there are a few that have already been integrated, like >> https://npmjs.org/package/hashtable (that specifically lives outside of >> v8's memory constraints) >> >> > The hash strategy behind the scenes must be interesting >> >> I found this page that describes (at least some of) what's happening >> behind the scenes: >> https://developers.google.com/v8/design?hl=sv&csw=1#prop_access. v8 is >> creating a new dynamic behind-the-scenes class when you add properties. As >> someone >> on the v8 users list >> says<https://groups.google.com/forum/#!topic/v8-users/jrw3Eh2cO4U>: >> "in general JS objects in V8 are not optimized to be used as large hash >> tables. Most likely, it would be best to implement your own hash table data >> structure using an array as a backing store instead of using a JS object as >> a hash table". >> >> Best of luck! >> >> -- peter >> >> >> -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
