<br><br><div class="gmail_quote">On Sun, Jul 31, 2011 at 11:31 AM, Stefan Marr <span dir="ltr"><<a href="mailto:squeak@stefan-marr.de">squeak@stefan-marr.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
On 31/07/11 17:25, David T. Lewis wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
On Sun, Jul 31, 2011 at 04:38:39PM +0200, Stefan Marr wrote:<br></div><div class="im">
Any guess what the reason could be why the C compiler fails to do proper<br>
inlineing?<br>
I cannot really say, and I am not much of an expert of C compilers.<br>
For the most part I was just concerned with the slang inliner itself<br>
when I was doing this (it needed some tweaks and fixes before I could<br>
get MemoryAccess to work properly). I was very impressed with how well<br>
the slang inliner actually worked in practice, though I cannot say too<br>
much about what it might take to get a C compiler to achieve similar<br>
results. To be honest I would not much care about it, given how well<br>
the slang inlining already works, and given that it is generating C<br>
code that will work well on most any compiler. I also like the fact<br>
that it is 100% Smalltalk, and does not rely on any hidden magic in<br>
the external compiler.<br>
</div></blockquote>
Well, the interesting question for me is, does it pay of in terms of some percent speedup if I walk over the RoarVM codebase and add some more inline/force_inline hints here and there.<br>
<br>
Perhaps I should just try it, the only question then is, where to start, and where to stop ;)<br></blockquote><div><br></div><div>The experiment to do is to modify Slang so that you can get it to do no inlining but add the inline keyword to all methods marked inline and compare the performance of the C compiler inlined code vs the Slang inlined code. However, given Roar has architectural overheads I'd also do this experiment on the base interpreter.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Thanks<br>
Stefan<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Dave<br>
<br>
</blockquote>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>best,<div>Eliot</div><br>