<div dir="ltr">I think reading Stefan Marr's paper on this topic can be interesting (the paper is very good) [1].<div><br></div><div>I believe the important point in this optimisation is that the met selectors are available for the sista optimiser, allowing speculative inlining of the perform send site if one selector only is present in practice. We could try to look into that and look at the impact on perform benchmarks on the speedcenter.<br><div><br></div><div>[1] <a href="https://hal.inria.fr/hal-01141135/file/pldi15-marr-et-al-zero-overhead-metaprogramming.pdf">https://hal.inria.fr/hal-01141135/file/pldi15-marr-et-al-zero-overhead-metaprogramming.pdf</a><br><div><br></div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 24, 2016 at 10:21 AM, Denis Kudriashov <span dir="ltr"><<a href="mailto:dionisiydk@gmail.com" target="_blank">dionisiydk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div dir="ltr"><div class="gmail_extra">Hi Eliot</div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-23 20:29 GMT+01:00 Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I see.  That adds another path to linking send sites (first invocation of a jitted perform: or when linking a send site checking for a perform target), and to unblinking send sites on cache flush.  But it's eminently doable.  I wonder if we have any volunteers willing to take a look or whether it should get added to mine and Clément's lists (which are quite full).  Denis, do you have any idea of the kinds of overhead due to perform you have in meaningful benchmarks?  My guess is it's a very small part of total overhead.</blockquote></div><br>Actually I don't think that it could really impact current UI applications. it could improve UI performance because bindings to objects are mostly based on #perform:, But I doubt it could be felt.</div><div class="gmail_extra">But from other side in case of UI send sites will be megamorphic points because "pluggable" UI components are used with most domain objects during application runtime. </div><div class="gmail_extra">So my question was more in theoretical field. </div></div>
<br></blockquote></div><br></div>