Charles Oliver Nutter
Charles Oliver Nutter
I can confirm the runtimes do not appear to be getting cleaned up.
I believe the feature you are looking for is the `--java` or `--javac` flags, which compile the code differently and produce a more normal looking Java class. Try that and...
First off, I want to caution you about these short benchmarks. JRuby 1.7 will perform better on them solely because it starts executing sooner and warms up faster... but it...
There's some other strange oddities here, especially with larger sizes. Even with all logic inlining, there's an enormous difference between `keys` on a large or a smaller Hash. With 5...
On a hunch I wondered if the performance of large arrays was indicating something at the GC level. Based on these results, that seems to be the case. The G1...
I bet this is related: #9102 While working on that I realized we were doing full dynamic (and mostly uncached) dispatches to `Object#hash` for even simple key types like Integer....
To my surprise, that PR does not improve performance here very much. I'm intrigued. I think it's fair to point out that the implementation of Hash has changed significantly since...
I can offer my services to help you investigate and optimize your application via support contracts from [Headius Enterprises](https://headius.com/jruby-support.html) but we can look into these smaller specific cases in the...
Well a quick experiment led to one possible culprit: the hashing function. JRuby 1.7.27 was, like Ruby 1.8, pretty plain about hashing and did not do much calculation beyond calling...
JVM JIT output (arm64) for the `multAndMix` method, used to seed and distribute incoming hash values (inlined up to `RubyFixnum.longHashCode`): ``` 0x0000000137b4cac4: lsr x11, x10, #0x20 ;*lushr {reexecute=0 rethrow=0 return_oop=0}...