Hi! This is dreamhead (one of core developers from XRuby) from ThoughtWorks. I have been working on JRuby performance recently. I just add RubyID into JRuby which is helpful to performance in XRuby. RubyID is similar ID(long) in MRI which use ID to replace String to reduce comparison cost.
id.txt is test results. There are two tests in it. One is bench_method_dispatch.rb which Ola has posted in the mailing. The other is Mingle tests. As you know, ThoughtWorks. runs Mingle on JRuby. In the id.txt, id result is to use RubyID and string result is current JRuby. As you'll see, RubyID gives JRuby a minor improvement. Ola has got these results, but both of us think it is difficult to decide whether merge these code to JRuby codebase, because the change is large (from evaluator/compiler to builtin) and the improvement is minor (1-2%). What's your idea? Ye Zheng -- Everything is simple!
./bin/jruby bench_method_dispatch.rb ID result Test interpreted: 100k loops calling self's foo 100 times 3.372000 0.000000 3.372000 ( 3.372000) 1.480000 0.000000 1.480000 ( 1.481000) 1.674000 0.000000 1.674000 ( 1.674000) 1.645000 0.000000 1.645000 ( 1.646000) 1.698000 0.000000 1.698000 ( 1.699000) 1.668000 0.000000 1.668000 ( 1.668000) 1.676000 0.000000 1.676000 ( 1.675000) 1.660000 0.000000 1.660000 ( 1.660000) 1.689000 0.000000 1.689000 ( 1.689000) 1.701000 0.000000 1.701000 ( 1.700000) String result Test interpreted: 100k loops calling self's foo 100 times 3.513000 0.000000 3.513000 ( 3.514000) 1.760000 0.000000 1.760000 ( 1.760000) 1.697000 0.000000 1.697000 ( 1.697000) 1.730000 0.000000 1.730000 ( 1.730000) 1.968000 0.000000 1.968000 ( 1.968000) 1.910000 0.000000 1.910000 ( 1.910000) 1.878000 0.000000 1.878000 ( 1.878000) 1.853000 0.000000 1.853000 ( 1.853000) 1.882000 0.000000 1.882000 ( 1.883000) 1.861000 0.000000 1.861000 ( 1.861000) ./script/jrake test:units ID result Finished in 543.868 seconds. 784 tests, 2838 assertions, 0 failures, 0 errors String result Finished in 554.218 seconds. 784 tests, 2838 assertions, 0 failures, 0 errors
bench_method_dispatch.rb
Description: application/ruby
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
