On Fri, May 16, 2014 at 12:38 PM, Andres Valloud <
[email protected]> wrote:

> * 64-bit aware hashing functions as the current ones are 32-bit centric.
>>
>
> This issue might not be the most urgent because the 32 bit hash functions
> should be sufficient to deal with at least moderately sized 64 bit images.
>  But how much stuff would you have to allocate before seeing a problem?
>
> Suppose object headers are 16 bytes and your hash functions are producing
> 28 bits' worth of data.  Clearly hashing 2^28 objects with zero instance
> variables and zero byte data is kind of silly, so we put in at least one
> instance variable making those objects at least 24 bytes.  Then you also
> need a hashed collection with a single table large enough to hold all those
> objects (ignoring e.g. hash buckets), the load factor of which will be kept
> at 80%.  So...
>
> 24 * 2^28 * 4 // 5 + (2^28 * 8) => about 7gb
>
> So, the current hash functions should be fine for images up to 7gb in
> size, and probably much larger than that because 7gb is the rock bottom low
> estimate.  Probably one might hash strings or other objects with more data
> than 8 bytes.  In that case, the low bound in that case will be higher.


Thanks for this, always enlightening.

Phil

>
>
> Andres.
>
>

Reply via email to