[update 1.1] #11282

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[update 1.1] #11282

Marcus Denker-4
#11282
======

Hashed collection performance improvement, phase 2 of 4.

Changes identityHash to cover most of the positive SmallInteger range, and uses good prime table sizes. This makes large hashed collections much faster, and does not penalize the small ones.

Targeted at Pharo Core 1.1-11280

Load the slice for each phase in order. Allow maybe half an hour to load all four phases; the intermediate phases load very slowly due to existing hashed collections running in "slow but safe" mode while their hash function changes under them.

In phase 2:

* All methods that will ultimately need to send #basicIdentityHash are modified to do so.

* Hashed collections now choose their table sizes to be prime using the HashTableSizes class loaded in phase 1.

* Hashed collections are made cautious but slow. They will continue to operate even when their hashing is broken, as it will be during part of the loading of phase 3. This caution will be removed in phase 4.

Loading phase 2 may take several minutes due to the cautious hashed collection slowdown.
--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project