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.
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 .
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