Report abuse

It's not really a comparison of apples to apples here:

* The JavaFX version is probably using primitives. Groovy and JRuby are using boxed numbers. So this becomes more of a boxed number allocation/GC benchmark than anything else.
* The JavaFX version is doing direct static dispatch. Groovy and JRuby are doing dynamic dispatch. Groovy may also be using reflection and boxing the argument list.

Those same features that damage numeric performance also enable features Java and JavaFX don't have. And let's also not forget the relative sizes of JRuby and JavaFX teams over the past couple years. We've done a lot, considering.

Ultimately these kinds of numeric algorithm comparisons are just noise. There's plenty of other comparisons that could go to JRuby or Groovy, and there's features each language has that the others don't. So what? Unless you're trying to outright insult the folks who have put a lot of work into JRuby and Groovy, or the people who find their performance acceptable for the applications they write, there's little point in publishing a post like this.

Spend your effort continuing to improve JavaFX, help JRuby and Groovy improve their performance, or help ongoing JVM work that will aid us all. Sabre-rattling is unbecoming.