[ANN] Exupery 0.05 released.

Bryce Kampjes bryce at kampjes.demon.co.uk
Sat Mar 26 12:00:57 UTC 2005


This version has PICs and a basic tree based optimiser. Sends
are now about twice as fast as the interpreter.

    arithmaticLoopBenchmark 1591 compiled 231 ratio: 6.887
    bytecodeBenchmark 2449 compiled 911 ratio: 2.688
    sendBenchmark 1779 compiled 849 ratio: 2.095
    gifConversion 1740 compiled 1582 ratio: 1.100
    Cumulative Time 1863.571 compiled 729.140 ratio 2.556

 
Exupery		'537250786 bytecodes/sec; 13510196 sends/sec' 
Interpreter	'204800000 bytecodes/sec; 6390893 sends/sec'

Installation instructions are here:
	     http://minnow.cc.gatech.edu/squeak/3945

Bytecode performance has dropped a little as PICs were introduced.
I suspect this is due to register pressure.

The focus now is on making Exupery useful. 0.06 will have some
performance tuning (faster bytecodes, and possibly sends) and a
new faster and better implementation of at: and at:put. Releases
should be more frequent, I'm trying to find the minimal useful
feature set so feedback would be very useful. The key question is
what is the minimal feature set needed to be useful.

The performance tuning is driven by several goals. First, I suspect
that the current architecture may be able to beat VW for bytecode
performance. Second, after PICs I feel like working on something
smaller. Third, the tuning will reduce register pressure which should
make performance more predictable on the x86.

Improving at: and at:put: was a major reason I put PICs in. The
current implementation is modelled on the interpreter, it only
supports arrays of objects and may be buggy. A PIC based
implementation should be both faster and simpler.

Bryce



More information about the Squeak-dev mailing list