[ 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)