Ramblings on how to optimize Squeak for modern CPU bit manipulation (Was Re: I was wondering ...

Lawson English english at primenet.com
Wed Jun 23 21:15:56 UTC 1999



>[About adding cutting-edge bit-flipping to Squeak]
>
>The general direction is to make the best of the best that is generally 
>portable.
>
>Nobody'd stop you from implementing anything for your favorite platform
>(and 
>it'd make a bunch of XYZ-platform-users happy) but it probably won't go 
>main-squeak-stream.
>
>On the other hand, if you can significantly improve what's there, in a LCD

>(maybe GCD is more appropriate ;-) manner, we'd all be very happy.

I think that I can make a case for a GCD implementation.

Consider AltiVec:

handles 32 128-bit registers which can be manipulated as 4 longs or 8
shorts or 16 bytes, or 4 floats, using one instruction that manipulates all
of these in parallel.

On an AltiVec (G4) PowerPC, an AltiVec Smalltalk primitive would map
directly to the single AltiVec instruction (which generally takes 2 cycles
or so to execute). That's an obvious speedup for G4 PowerPC users.

HOWEVER, the AltiVec instructions were designed specifically by Motorola
and Apple to handle several important generalized problems, including
bitmap manipulation for advanced graphics AND DSP applications to replace
Motorola's older DSP chips.

A set of  Smalltalk primitives that models an ISA that was designed to
handle advanced graphics and DSP operations, regardless of whether these
are implemented using single instructions, or a larger C-based simulation,
would be VERY worthwhile, don't you agree?

I mean, imagine being able to reimplement the Squeak MIDI using powerful
primitives designed for that purpose. The savings might be enormous.

----------------------------------------------------------------------
Use your imagination.
----------------------------------------------------------------------





More information about the Squeak-dev mailing list