Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays

Stefan Marr java at
Thu Jan 7 16:53:33 UTC 2016

Hi Mick:

> On 07 Jan 2016, at 17:40, Mick Jordan <mick.jordan at> wrote:
> On 1/7/16 8:19 AM, christian.humer at wrote:
>> As you wish. There is a nice R OO introduction [1]. The draft versions take a bit. I am myself not a very experienced R developer. 
>> [1] 
> It's amazing to me how we are still using ancient benchmarks like Towers and Richards in 2016! My first exposure to Towers was in 1974 as a grad student at Cambridge. Later that decade, I ported Richards (which is a simulation of the Tripos operating system by Martin Richards (inventor of BCPL)) from BCPL to Modula-2 and other languages. As I recall Richards essentially tests how fast you can do a virtual function call.

Yes, and as that it is still very useful. :) At least for me, it helped me to optimize the dispatch guards in SOMns.

And some of the benchmarks are directly taken from the SOM libraries. SOM was originally implemented at the University of Århus in Denmark by Jakob Roland Andersen, Kasper Verdict Lund, Lars Bak, Mads Torgersen, and Ulrik Pagh Schultz in 2001/2002. I’d think you’d recognize those names.

> Ironically, with all multiple language integration focus, it is perhaps odd that we would even consider writing an algorithm like Towers or Richards in R. Aren't we supposed to be using the "right" language for a given part of the overall problem? R was most definitely not designed with such algorithms as its primary focus but, hey it's Turing complete, so it's possible. The question is whether the result has any useful validity for real apps. That goes for the shootout benchmarks as well, IMHO.

Right, and for R I can’t tell. That’s why I didn’t dare to start a port. I am not sure there is a lot of value in it.

I’ll have a look at what Christan sent.


Stefan Marr
Johannes Kepler Universität Linz

More information about the graal-dev mailing list