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. > >
