3 ms·
I'm not sure I understand how. You've gone through the JIT process of live profiling, hot spot detection, compiled down to native code etc. etc., then saved it
by Twirrim 12y ago
I'm not sure I understand how.
You've gone through the JIT process of live profiling, hot spot detection, compiled down to native code etc. etc., then saved it along the way so that next launch you can start fast with everything already optimised (but also in a position to continue to learn and improve should the opportunity arrive.)
Your first run or two will be slower, beyond that you should be as fast as your code will go.
- deong 12y agoWhat magical extra CPU, memory, cache, and battery have you introduced into that third run to handle the process of "continuing to learn and improve should the opportunity arise"? Because if you're using the same one that's running the user's program, then you won't be running as fast as the code can go. You have to pay for profile guided optimization. That optimizer is another program running on your CPU. It needs memory, time slices, access to secondary storage, etc. It's worth it only if the user code can be improved so much that the total of the two is smaller than what you would have gotten by just compiling it once. And that's not easy to do for general purpose computation.