[ENH] Faster CopyLoop

John M McIntosh johnmci at smalltalkconsulting.com
Mon Jun 30 06:31:40 UTC 2003


A few years back (Dec 1999)  I was fiddling (with Andreas) in  
copyLoopPixMap. Now it seems that last
week Apple introduced some new versions of some hardware performance  
diagnostics tools which
I decided to point at the Squeak VM and look to see what is up.

One of the hot-spots when running the FreeCell macro benchmarks is  
copyLoop where the tools
told me I had lots of processor stalls which pointed to issues  
reading/writting to instance variables
in BitBltSimulation>>copyLoop

So some careful reading and changes to some of the code to cache  
instance variables into locals
I find I've a VM that runs the FreeCell macro benchmark about 5% faster.

I'll point out that some instance variables can't become locals like  
'destMask' because that's used in
a combinationRule subfunction for alpha blending (alphaBlendConst:  
with: )

Some folks might want to check to see if I've not broken anything...   
Tho copyLoopPixMap still needs some
serious consideration...


--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FasterCopyLoop-JMM.4.cs.gz
Type: application/x-gzip
Size: 2977 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030629/2174b0cb/FasterCopyLoop-JMM.4.cs.bin


More information about the Squeak-dev mailing list