New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Methods hot but too big for inline #1812
Comments
Out of curiosity, how did you get this data? |
@trustin start with "-XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining" and check the generated outpout. Best is to direct it to some file as it will be quite "heavy" ;) Related blog post: http://techblug.wordpress.com/2013/08/19/java-jit-compiler-inlining/ |
This move less common method patterns to extra methods and so make the nioBuffers() method with most common pattern (backed by one ByteBuffer) small enough for inlining.
This move less common method patterns to extra methods and so make the nioBuffers() method with most common pattern (backed by one ByteBuffer) small enough for inlining.
Ah, Thanks. |
…line. Related to #1812 encode of chunked content is not the most common pattern so moving it to an extra method makes it possible to inline the rest as it is a smaller method now.
…line. Related to #1812 encode of chunked content is not the most common pattern so moving it to an extra method makes it possible to inline the rest as it is a smaller method now.
Nice findings @normanmaurer :) |
Indeed - that's very nice! On Thu, Sep 5, 2013 at 7:47 AM, Jestan Nirojan notifications@github.comwrote:
|
how interesting |
… allow for inlining" This reverts commit b7262ab.
…from the Channel. This was introduced as part of #1812, but fortunatualy was not part of any release.
…from the Channel. This was introduced as part of #1812, but fortunatualy was not part of any release.
While doing some benchmarks I noticed there are a few methods that are hot but are to big for the JIT to inline. We should check if we could do a better job here and optimize them for the most common usage in terms of size etc.
This way the JIT can make inline happen:
The text was updated successfully, but these errors were encountered: