[ 
https://issues.apache.org/jira/browse/HBASE-15431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15188823#comment-15188823
 ] 

Lars Hofhansl commented on HBASE-15431:
---------------------------------------

bq. Was 1010 enough to get the list of methods inlined?

Yep. The largest is 1006 bytes. After that I no longer see any "hot method too 
big" messages. But performance actually seemed to be slower. So maybe this is a 
dud...? I looked into breaking up StoreScanner.next(...), it's pretty messy 
now, with many exits (continue with the loop, break out of loop, return from 
the method with result true, return with false, etc). What we want to do is 
breaking up the larger method so that hot code is separate from the not so hot 
code. So in StoreScanner.next we'd try to more DONE, DONE_SCAN, maybe XXX_SEEK 
code to separate methods. That would allow the more frequent and very hot SKIP 
and INCLUDE code paths to be inlined... But as I said, it's not a trivial quick 
fix, it's need to rethinking of the structure of this method. Others are 
similar.


> A bunch of methods are hot and too big to be inlined
> ----------------------------------------------------
>
>                 Key: HBASE-15431
>                 URL: https://issues.apache.org/jira/browse/HBASE-15431
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>         Attachments: hotMethods.txt
>
>
> I ran HBase with "-XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions 
> -XX:+PrintInlining" and then looked for "hot method too big" log lines.
> I'll attach a log of those messages.
> I tried to increase -XX:FreqInlineSize to 1010 to inline all these methods 
> (as long as they're hot, but actually didn't see any improvement).
> In all cases I primed the JVM to make sure the JVM gets a chance to profile 
> the methods and decide whether they're hot or not.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to