Alan Grimes alangrimes at
Sun May 16 14:09:46 UTC 2004

Jason Dufair wrote:

>I'm building a small utility in Squeak that relies on the Rijndael (AES)
>algorithm which relies heavily, in turn, on ThirtyTwoBitRegister.  I'm
>finding that my app runs about 80x slower than the equivalent app in C#.
>I also find that 59% of that time is spent in two methods on
>ThirtyTwoBitRegister.  Another 22% is spent bit-twiddling in the
>Rijndael class itself.  See the MessageTally results below for more
>Is there any reason for me not to push basically all of
>ThirtyTwoBitRegister's operations down into primitives, either in the VM
>or plugins?
>For that matter, would we be better off with all of the crypto stuff in
>primitives?  Bit twiddling is one of Smalltalk's weaknessess (assuming
>I'm willing to admit it has any ;-) and calling, say, functions in OpenSSL
>might strengthen up a bit of an Achilles heel, especially as more and
>more basic functionality relies on cryptography.  Thoughts?

Assuming your 32-bit register is a subclass of Large positive int, try 
_REMOVING_ the method in large positive int for bitXor and re-run your 
I'd be interested to see how that changes the results.

What do you call the act of switching from Linx to an Abacus?

-- An upgrade. 

More information about the Squeak-dev mailing list