Generate smaller bytecode when using Ruby type on implemented Java Interface + Benchmark #4777
Conversation
…nterface + Benchmark
totally makes sense - thanks for digging throught these bits, there's probably a lot of |
This is a good start :-) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
It seems when compiling Ruby implementations of Java interfaces, we were generating bytecode that runs any non-primitive type through
convertJavaToUsableRubyObject
.This seems unnecessary to me if we know that we're dealing with an
IRubyObject
type of argument => we can save that call and the loading of theRuby
runtime argument, right?I included the benchmark I used to verify that this comes with a positive performance impact (for me it showed about a
5%
speed-up).