On Fri, Mar 30, 2001 at 10:48:17AM -0500, Bijan Parsia wrote:
I don't think it does *poorly* by and large. For the first three tests, it's within a factor of three.
I agree--I thought Squeak did quite well. To me, Squeak is closest in flavor to Python (even though the languages are quite different under the hood), and I wanted to see how they compared.
Also, take the benchmarks with a grain of salt--they haven't been reviewed by anybody yet, so there may be bugs/problems with them.
Now, speaking totally randomly, I'll point out that whenever you use primative types in Java, especially numerics, you'd *better* see a big boost in speed, since you won't have to unboxed them. In inner loops this can make a big difference (which I hypothozie is why the mandelbrot tests show a bigger difference).
Well, for interpreted code, I think boxing is mostly an issue related to the garbage collector.
Note that cmandelgrid uses user-defined boxed complex numbers in Java; in some sense, it's the most interesting test. I think it does so well still because the JDK has an excellent garbage collector. What I found particularly interesting is that g++ didn't manage to make cmandelgrid equivalent to mandelgrid (far from it, actually) even though in C++, there is no storage allocation involved.
I may try CMU CL at some point; to me, it represents what a good open source project can achieve with the compilation of a dynamic language.
In any case, at some point, I hope I'll be able to give the squeak jitter a try.
Cheers, Thomas.