3 ms·
For what it's worth, the JVM defaults to 10,000 times for a method being called before deciding it is hot, so that threshold is not without precedent (but can b
by Twirrim 7y ago
For what it's worth, the JVM defaults to 10,000 times for a method being called before deciding it is hot, so that threshold is not without precedent (but can be adjusted via XX:CompileThreshold)
- nycdotnet 7y agoInteresting. In .NET Core 2.1, they decided just 30 calls was enough to recompile from the fast “tier 0” JIT code to the fully optimized “tier 1” JITed code. https://github.com/dotnet/coreclr/blob/master/Documentation/design-docs/tiered-compilation.md#tiered-compilation-policy-21-rtm https://github.com/dotnet/coreclr/blob/master/Documentation/...
- josefx 7y agoIt also uses a heuristic to check if application startup has finished to decide whether a call counts towards the tier1 JIT threshold.
- Twirrim 7y ago10,000 calls really isn't that many, when you consider the sorts of operating environments that the JVM is targetted at. 30 seems crazy low to me. That seems like you'd be spending a bunch of compute time early on compiling stuff that may be only used during the start-up stages of your code.