Idea for a possibly better Collection occurrencesOf method.

Bryce Kampjes bryce at kampjes.demon.co.uk
Tue Sep 12 19:07:12 UTC 2006


Klaus D. Witzel writes:

 > But I think this is something for a 1.0 Exupery release; if I understand  
 > Bryce correctly he aims to outperform a certain commercial VM and  
 > MethodContext>>#apply:from:to: looks like it's worth the effort (of  
 > course, with fall back to good old #do: code-in case the new primitive is  
 > missing). My CHF 0.05.

The right way to optimise occurrencesOf: is to write it using count:
then to inline away the overhead of using #do: by using an inlining
JIT as Nicolas suggested. My aim is to add inlining to Exupery in 2.0.

The goal of 1.0 is to provide a useful speed improvement to
Squeak. That involves making Exupery more reliable and implementing
key primitives. Unfortunately, many inner loops in Squeak spend most
of their time calling primitives so improve their performance I need
to reimplement the primitives. Exupery has been faster than
VisualWorks for the bytecode benchmark for over a year now. 

I could have also said that the goal for Exupery 1.0 is to provide
everything necessary to benefit from method lining except for method
inlining. Exupery can inline primitives already.

Bryce




More information about the Squeak-dev mailing list