#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
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to