JRuby

Struct performance is pretty poor

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: JRuby 1.1RC2
  • Fix Version/s: JRuby 1.1.3
  • Component/s: Performance
  • Labels:
    None
  • Number of attachments :
    1

Description

For the attached implementation of Ruby Quiz 157, we perform very poorly. I believe this is due to its use of Struct, which has not yet been optimized or converted to the new method binding logic. We should fix this before 1.1...and it's possible this is a bottleneck for other applications as well.

The full set of impls are here: http://tastyspleen.net/~billk/ruby/quiz/157-smallest-circle/benchmark/

Activity

Hide
Thomas E Enebo added a comment -

Charlie already got quite a bit better struct performance, but not all of the ruby quiz entrants which used structs are faster (which may or may not be because of structs). Leaving open but moving to 1.1+.

Show
Thomas E Enebo added a comment - Charlie already got quite a bit better struct performance, but not all of the ruby quiz entrants which used structs are faster (which may or may not be because of structs). Leaving open but moving to 1.1+.
Hide
Charles Oliver Nutter added a comment -

Looking good lately....the remaining run that isn't faster is probably just because it's slower. I'm marking this one resolved for 1.1.3.

Ruby:
             user     system      total        real
FRANK   31.310000   0.060000  31.370000 ( 31.450024)
JUSTIN  12.160000   0.060000  12.220000 ( 12.328323)
LIONEL   0.710000   0.000000   0.710000 (  0.726373)
DOUG     8.480000   0.050000   8.530000 (  8.589435)
PHILIPP  1.990000   0.010000   2.000000 (  2.007738)
BILL     0.540000   0.000000   0.540000 (  0.542767)

JRuby:
             user     system      total        real
FRANK    7.799000   0.000000   7.799000 (  7.800000)
JUSTIN   2.686000   0.000000   2.686000 (  2.685000)
LIONEL   1.202000   0.000000   1.202000 (  1.202000)
DOUG     2.731000   0.000000   2.731000 (  2.731000)
PHILIPP  1.577000   0.000000   1.577000 (  1.576000)
BILL     0.240000   0.000000   0.240000 (  0.239000)
Show
Charles Oliver Nutter added a comment - Looking good lately....the remaining run that isn't faster is probably just because it's slower. I'm marking this one resolved for 1.1.3.
Ruby:
             user     system      total        real
FRANK   31.310000   0.060000  31.370000 ( 31.450024)
JUSTIN  12.160000   0.060000  12.220000 ( 12.328323)
LIONEL   0.710000   0.000000   0.710000 (  0.726373)
DOUG     8.480000   0.050000   8.530000 (  8.589435)
PHILIPP  1.990000   0.010000   2.000000 (  2.007738)
BILL     0.540000   0.000000   0.540000 (  0.542767)

JRuby:
             user     system      total        real
FRANK    7.799000   0.000000   7.799000 (  7.800000)
JUSTIN   2.686000   0.000000   2.686000 (  2.685000)
LIONEL   1.202000   0.000000   1.202000 (  1.202000)
DOUG     2.731000   0.000000   2.731000 (  2.731000)
PHILIPP  1.577000   0.000000   1.577000 (  1.576000)
BILL     0.240000   0.000000   0.240000 (  0.239000)

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: