JRuby invokedynamic updates for November

Stephen Bannasch stephen.bannasch at deanbrook.org
Wed Nov 30 12:03:50 PST 2011


Hi Charlie,

Is your latest work going on in the indy_update branch?

I have a simple Ruby xml processing benchmark that compares several Ruby XML libraries including rexml which is part of the 
Ruby standard library.

My test measures the time to do the following 100 times:

- open 98k XML document and count one type of leaf element (466 entries)

On the latest master version of JRuby the performance of rexml degrades dramatically using Java 1.7 and even more using mlvm.

   java       rexml
------------------------------------------
   1.6.0_27    3.8
   1.7.0      24.7   (recent macosx-port)
   1.8.0      72.1   (mlvm today)

Using the indy_update branch of JRuby however I get MUCH better results on 1.7

   java       rexml
------------------------------------------
   1.6.0_27    4.6
   1.7.0       4.3   (recent macosx-port)
   1.8.0      ** error, see below **

Exception in thread "main" java.lang.ExceptionInInitializerError
	at org.jruby.Main.<init>(Main.java:87)
	at org.jruby.Main.main(Main.java:125)
Caused by: java.lang.RuntimeException: unsupported Java version: 1.8
	at org.jruby.RubyInstanceConfig.<clinit>(RubyInstanceConfig.java:365)
	... 2 more

Benchmark code here: https://gist.github.com/1410423


More information about the mlvm-dev mailing list