Login  Register

Re: Why #identityHash does not rely on OOP?

Posted by GLASS mailing list on Oct 26, 2016; 4:24pm
URL: https://forum.world.st/Why-identityHash-does-not-rely-on-OOP-tp4920262p4920285.html

Gs doesn't have the problems common in 32-bit versions of other dialects related to collisions from short #identityHash range. I recall the 32-bit version of VisualWorks answered a 16k value range and that caused huge performance problems for large identity hashed collections. A 4k range must have been a nightmare. Even 32-bit versions of Gs do well with extremely large collections.

Paul Baumann


On Oct 26, 2016 10:51 AM, "Mariano Martinez Peck via Glass" <[hidden email]> wrote:
I am sure the answer is dumb, but I still wonder. At a first glance I thought it could be because you may reuse OOPs. But...if you re-use a OOP is because that object is not anywhere in the system (and hence, there is no need of re-hash any collection). 

Another thought I had is none-persisting object and the costs of getting available OOPs vs a simply #identityHash implementation. 

BTW how long is the #identityHash? In Pharo (before Spur) we had 12 bits (or similar) in the object header so that yield 4k different values. That's not fun when you have large identity-based hashed collection because of collisions.  Anyway, how big is the identity hash in Gemstone? Or how "unique" it is?

Anyway, I was simply curious about this topic and would like you know your thoughts.


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass