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.

Reply via email to