Exupery 0.10 is now released. There are prebuilt VM's available for both Windows and Linux. This release now provides a measurable speed improvement for the compilerBenchmark macro benchmark due to work on dynamic primitive inlining.
Instructions for installation and a link to a pre-built image is here:
http://minnow.cc.gatech.edu/squeak/3945
Benchmarks on my Athlon 64 3500+ ========================================================= arithmaticLoopBenchmark 1398 compiled 92 ratio: 15.196 bytecodeBenchmark 2134 compiled 469 ratio: 4.550 sendBenchmark 1580 compiled 697 ratio: 2.267 doLoopsBenchmark 1090 compiled 840 ratio: 1.298 largeExplorers 334 compiled 358 ratio: 0.933 compilerBenchmark 733 compiled 705 ratio: 1.040 Cumulative Time 4167 compiled 1448 ratio 2.878
1,067,222,511 bytecodes/sec; 16,716,421 sends/sec
Benchmarks on Andy's Mobile Pentium 3 ========================================================= arithmaticLoopBenchmark 2487 compiled 285 ratio: 8.726 bytecodeBenchmark 4271 compiled 1255 ratio: 3.403 sendBenchmark 3482 compiled 1772 ratio: 1.965 doLoopsBenchmark 2078 compiled 1663 ratio: 1.250 largeExplorers 2224 compiled 1683 ratio: 1.321 compilerBenchmark 2093 compiled 1712 ratio: 1.223 Cumulative Time 12903 compiled 4971 ratio 2.596
Benchmarks from my Pentium-M laptop ========================================================= arithmaticLoopBenchmark 1003 compiled 191 ratio: 5.251 bytecodeBenchmark 1773 compiled 683 ratio: 2.596 sendBenchmark 1446 compiled 922 ratio: 1.568 doLoopsBenchmark 991 compiled 918 ratio: 1.080 largeExplorers 418 compiled 441 ratio: 0.948 compilerBenchmark 718 compiled 683 ratio: 1.051 Cumulative Time 3773 compiled 2015 ratio 1.872
It's interesting that on Andy's machine Exupery is providing a nice performance improvement for largeExplorers while on my machine there is a 7% performance loss. The loss is due to the interpreter inlining Point>>@ into the main interpreter loop while Exupery executes it as a normal primitive. Andy's benchmarks are promising enough for a 1.0, pity relative performance isn't so high on the other two machines.
There is a mailing list for those interested in the project here:
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery
Many thanks to Andy Tween for doing the Windows port and building the official Windows VM. Thanks also to Patrick Mauritz for doing a Solaris x86 port which was the first OS port.
Bryce