HashBits, a lazy way

John M McIntosh johnmci at mac.com
Fri Jul 11 09:10:00 UTC 2003


> In doing this I looked at
> instantiateClass:indexableSize:doFill: &
> allocate:headerSize:h1:h2:h3doFill:with:
> and decided they are way too generalized. So I've been rewritting them
> to reduce the number of testing going on,
> and streamline the execute paths based on type of object being
> allocated. Right now I've managed to bust
> everything, but hope to reassemble it in a few hours then report on the
> results.
>

Ok, if I just completed a first past at optimizing

> instantiateClass:indexableSize:doFill: &
> allocate:headerSize:h1:h2:h3doFill:with:

I get a 15% improvement in the test case.

> So if I repeat a zillion times, 100 allocations of Object new in a
> while block.

This compares a no-fill hash allocation against a no-fill hash  
allocation where the object allocation code now follows a simpler path  
without redundency.

I've another pass to consider, before shipping anything for review,  
tomorrow perhaps, but lets
see if we can speed up the test case by oh 35-40% as a decent target by  
using better code and doing deferred-hashing.

--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===



More information about the Squeak-dev mailing list