I have a BIG application that I'm trying to optimize. to do so, I'm profiling / benchmarking small elements of it by running them millions of times in a loop, and checking their processing time.
obviously Hotspot's JIT is kicking in, and I can actually see when that happens. I like it, I can clearly see things going much faster after the "warm up" period.
however, after reaching the fastest execution speed and keeping it for some time, I can see that the speed is then reduced to a less impressive one, and it stays there.
what's executed in the loop does not actually change much, so I can hardly see why escape analysis would force a "de-optimization" of code.
basically I get the feeling the JIT is getting the best performance, then settles for something slower, thinking that it's "enough".
is there any way to tell him "it's not enough, I really want that code to run as fast as possible !". I know it can as it already did. Just how can I force it to do so ?