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

Stefan Marr java at stefan-marr.de
Thu Jan 7 13:25:43 UTC 2016


Hi Christian:

> On 07 Jan 2016, at 14:08, christian.humer at gmail.com wrote:
>> 
>> R is an interesting challenge. While I use R for scripting reports and papers, I never wrote this kind of code in it. So, I don’t really know what a ‘proper’ R solution should look like. For instance for the more numeric things like NBody or Mandelbrot, I am not sure the benchmark style used really would be anywhere near ‘idiomatic’ R code. On top of that comes that for R there doesn’t seem to be an agreement on a specific object model. So, yet another dimension that would require discussion before a port.
> Do you see idiomatic R code as a requirement?

Hmm, I think it is really a question of what one wants. What do we want the numbers to mean in the end? Should they have a predictive quality for ’standard R code’? I think this in itself might be a difficult question. 

[Note, I am not claiming that these benchmarks have a predictive quality for the other languages either. I’d argue that optimizing this ‘core' language is a necessary condition for fast code, but, it is not a sufficient one.]

> I would rather do the benchmarks in the same style as the other languages to increase comparability even if that means some compromise in the R code. Why should R code in JavaScript style be less optimizable than others? We have other benchmarks that evaluate idiomatic R code, so we have this one covered. The problem is that they are hardly comparable to anything because the idiomatic use of the language is so different.

Ok, well, then I’d say, point me at an R OO tutorial of your liking.
And, perhaps draft a version of the NBody [1] and Towers [2] benchmarks, so that I got a code style I could work from. (I linked the JavaScript versions as examples because they are self-contained, but the other languages are valid templates as well.)

Best regards
Stefan


[1] https://github.com/smarr/are-we-fast-yet/blob/master/benchmarks/JavaScript/nbody.js
[2] https://github.com/smarr/are-we-fast-yet/blob/master/benchmarks/JavaScript/towers.js


More information about the graal-dev mailing list