-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Bryce Kampjes wrote:
Exupery, a bytecode to machine code compiler (a JIT) for Squeak, now has it's own mailing list. Join if you're interested in either helping develop or using Exupery. Exupery is currently 15% faster than VisualWorks for the bytecode benchmark and twice as fast as Squeak's interpreter for the send benchmark.
Exupery's next goal is to become seriously useful. So join even if you're interested in using a beta compiler rather than writing a compiler. Some user domain expertise would be helpful. I know very little about graphics, multimedia, Morphic, or crypto which are all things that might benefit from a little more speed.
The list is here: http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery
Bryce
Hello,
I tried to subscribe to the list above. I've got this error message: - -------------------------------------------------------------------- Bug in Mailman version 2.1.5
We're sorry, we hit a bug!
Please inform the webmaster for this site of this problem. Printing of traceback and other system information has been explicitly inhibited, but the webmaster can find this information in the Mailman error logs. - -------------------------------------------------------------------- there obviously is (was) some problem.
Since I do use Linux, I thought I'll give your VM a try, I have heard of Exupery before, so according to http://minnow.cc.gatech.edu/squeak/Exupery I downloaded appropriate tarball, I've copied an ordinary 3.8-6665 image, changes and sources nearby and run it as normal:
cd build && ./squeak *ge
Loading Exupery package from SqueakMap caused no problems (none errors, none warnings, nothing). After loading process finished, I ran your tests.
TestExuperyPlugin
No, problems there:
227 run, 227 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes, 2min
So I decided to do what you propose on the swiki Exupery page, so these are benchmarks (?) before compiling some methods
Exupery initialiseExupery ExuperyBenchmarks new run explore 0 tinyBenchmarks 10000 benchmark
Here are the result of the above command:
http://altair.dcs.elf.stuba.sk/~kosik/tmp/ExuperyBenchmarksBefore.png" '111401218 bytecodes/sec; 4189054 sends/sec' 1028
OK, I thought now I am going to compile the suggested methods and see the performance improvement. So here's what I did
Exupery compileMethod: #benchmark class: Integer Exupery compileMethod: #at: class: Array Exupery compileMethod: #at:put: class: Array
And running the same bencharks as above, i.e.
ExuperyBenchmarks new run explore 0 tinyBenchmarks 10000 benchmark
and here are the results:
http://altair.dcs.elf.stuba.sk/~kosik/tmp/ExuperyBenchmarksAfter.png '109777015 bytecodes/sec; 4098416 sends/sec' 1028
My naive eyes (I really do not know precisely what I am really doing) do not see any performance enhancement. What did I forget to do? Did I look on the right things?
Wishing the best... - -- Matej Košík