On Wed, 2013-05-01 at 22:14 -0600, Tod Hansmann wrote: > My understanding of it (and .NET CLR stuff) was that it was JITed on > first run, and then never had to be JITed again. So the first time you > ran a Java/.NET app, it had the initial overhead. Subsequent times it > does not. Is that not correct? Why would it be modifying it's code in > the middle of runtime? Seems gloriously inefficient and overly complex > to do it that way, but compilers aren't my favorite thing anyway, so I > could use some edumacation.
I don't follow compilers either, but I do remember being convinced of the value of runtime optimization when the following came out in 1999: http://www.hpl.hp.com/techreports/1999/HPL-1999-78.html I also know that these days, even sophisticated JavaScript engines perform multiple levels of optimization and deoptimization based on observed hot spots. Digging for the old HP article turned up the following, which seems like a good starting point for someone interested in learning more: http://en.wikipedia.org/wiki/Dynamic_recompilation /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
