Thank you Vim,<div><br></div><div>I will use it. I have also found &quot;Trace-based compilation in execution environments without interpreters&quot; that seems kind of relevant.</div><div><a href="http://www.ics.uci.edu/~mbebenit/pubs/pppj-2010.pdf">http://www.ics.uci.edu/~mbebenit/pubs/pppj-2010.pdf</a><br>
<br>Regards,</div><div>Mike</div><div><br><div class="gmail_quote">On Wed, Jul 4, 2012 at 9:29 AM,  <span dir="ltr">&lt;<a href="mailto:wlavrijsen@lbl.gov" target="_blank">wlavrijsen@lbl.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Michael,<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am in the process of writing a paper that will target some AI conference,<br>
and I would like to ask if there are any relevant publications of yours or<br>
in general that showcase the possible advantages of trace-based JIT<br>
compilation over method-based JIT compilation or static compilation.<br>
</blockquote>
<br></div>
this publication has a nice listing of benefits over static compilation:<br>
<br>
   <a href="http://www.hpl.hp.com/techreports/1999/HPL-1999-78.html" target="_blank">http://www.hpl.hp.com/<u></u>techreports/1999/HPL-1999-78.<u></u>html</a><br>
<br>
Some of it is outdated, as I find in particular that compiled traces are<br>
very nice on contemporary speculative, out-of-order executing, branch<br>
predicting, hyper-threading CPUs in ways that made no difference on deep<br>
pipeline CPUs of old. It&#39;s a great read nonetheless.<br>
<br>
Method-based JIT compilation does not play as well with modern CPUs, as<br>
the greatest benefits are had from the inlining of functions and removal<br>
of branches.<br>
<br>
Even for C++, vtable indirection and the trampolines for calls across<br>
shared libraries are tough on modern CPUs. Inlining and finalizing calls<br>
helps, but with static profiling you only have one choice of organizing<br>
the code, on one &quot;representative&quot; data set.<br>
<br>
Best regards,<br>
           Wim<span class="HOEnZb"><font color="#888888"><br>
-- <br>
<a href="mailto:WLavrijsen@lbl.gov" target="_blank">WLavrijsen@lbl.gov</a>    --    <a href="tel:%2B1%20%28510%29%20486%206411" value="+15104866411" target="_blank">+1 (510) 486 6411</a>    --    <a href="http://www.lavrijsen.net" target="_blank">www.lavrijsen.net</a><br>

</font></span></blockquote></div><br></div>