How to change compilation policy to trigger C2 compilation ASAP?

Vitaly Davidovich vitalyd at gmail.com
Wed May 20 01:11:58 UTC 2015


These thresholds are going to effectively compile the world, gated only by
backlog that will surely ensue on the compiler thread queues? I would start
with using default values, and tuning them down until perf is
satisfactory.  As you have it configured, I don't think tiered will help;
in fact, it's probably worse than simply using C2 and lowering
CompileThreshold.  I think the threshold for C2 should probably depend on
how well the code runs with C1, which is likely to be very application (and
hardware, to some extent) specific.

Are you using java 8? How many compiler threads for C1 and C2 are you using?

By the way, I'm likely to do some tiered experiments myself soon, so this
is new territory to me as well.  At an initial glance, if default values
aren't good, it seems to devolve into the same "black magic" as GC tuning.

sent from my phone
On May 19, 2015 8:43 PM, "Tangwei (Euler)" <tangwei6 at huawei.com> wrote:

>  My goal is just to reach peak performance quickly. Following is one tier
> threshold combination I tried:
>
>
>
> -XX:Tier0ProfilingStartPercentage=0
>
> -XX:Tier3InvocationThreshold=3
>
> -XX:Tier3MinInvocationThreshold=2
>
> -XX:Tier3CompileThreshold=2
>
> -XX:Tier4InvocationThreshold=4
>
> -XX:Tier4MinInvocationThreshold=3
>
> -XX:Tier4CompileThreshold=2
>
>
>
> Regards!
>
> wei
>
>
>
>
>
> *From:* Vitaly Davidovich [mailto:vitalyd at gmail.com]
> *Sent:* Tuesday, May 19, 2015 9:33 PM
> *To:* Tangwei (Euler)
> *Cc:* hotspot compiler
> *Subject:* Re: How to change compilation policy to trigger C2 compilation
> ASAP?
>
>
>
> Is your goal specifically to have C2 compile or just to reach peak
> performance quickly? It sounds like the latter.  What values did you
> specify for the tier thresholds? Also, it may help you to
> -XX:+PrintCompilation to tune the flags as this will show you which methods
> are being compiled, when, and at what tier.
>
> sent from my phone
>
> On May 19, 2015 9:01 AM, "Tangwei (Euler)" <tangwei6 at huawei.com> wrote:
>
> Hi All,
>
>   I want to run a JAVA application on a performance simulator, and do a
> profiling on a hot function JITTed with C2 compiler.
>
> In order to make C2 compiler compile hot function as early as possible, I
> hope to reduce the threshold of function invocation
>
> count in interpreter and C1 to drive the JIT compiler transitioned to
> Level 4 (C2) ASAP. Following is the option list I try, but
>
> failed to find a right combination to meet my requirement. Anyone can help
> to figure out what options I can use?
>
> Thanks in advance.
>
>
>
> -XX:Tier0ProfilingStartPercentage=0
>
> -XX:Tier3InvocationThreshold
>
> -XX:Tier3MinInvocationThreshold
>
> -XX:Tier3CompileThreshold
>
> -XX:Tier4InvocationThreshold
>
> -XX:CompileThreshold
>
> -XX:Tier4MinInvocationThreshold
>
> -XX:Tier4CompileThreshold
>
>
>
> Regards!
>
> wei
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20150519/94f3e38c/attachment.html>


More information about the hotspot-compiler-dev mailing list