<div dir="ltr">Great, thanks! That article was exactly what I had in mind. :)<div><br></div><div>- Brian Gesiak</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 17, 2016 at 2:47 PM, Mark Lacey <span dir="ltr">&lt;<a href="mailto:mark.lacey@apple.com" target="_blank">mark.lacey@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><span class=""><blockquote type="cite"><div>On Dec 17, 2016, at 11:13 AM, Brian Gesiak via swift-dev &lt;<a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a>&gt; wrote:</div><br class="m_2684839938528786390Apple-interchange-newline"><div><div dir="ltr">Hello all!<div><br></div><div>I really enjoyed Chris Lattner&#39;s slides from his talk at IBM &lt;<a href="http://researcher.watson.ibm.com/researcher/files/us-lmandel/lattner.pdf" target="_blank">http://researcher.watson.ibm.<wbr>com/researcher/files/us-<wbr>lmandel/lattner.pdf</a>&gt;. </div><div><br></div><div>The speaker notes mention ARC:</div><div><br></div><div>&quot;There are two principle downsides to ARC that people cite: one is the need for atomic increment/decrements, which can be slow.&quot; [...] &quot;The performance problems it can cause are real in some important cases&quot;</div><div><br></div><div>Can someone point me to a good resource that explains these problems?</div></div></div></blockquote><div><br></div></span><div>This might be a good starter post: <a href="https://fgiesen.wordpress.com/2014/08/18/atomics-and-contention" target="_blank">https://fgiesen.<wbr>wordpress.com/2014/08/18/<wbr>atomics-and-contention</a></div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><div> I guess atomic reference count changes create overhead in multithreaded applications?</div></div></div></blockquote><div><br></div></span><div>There is overhead even in single-threaded applications, as the post above discusses. The overhead depends very much on the details of the particular microarchitecture.</div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><div> Are there more detailed explorations into this topic?</div></div></div></blockquote><div><br></div></span><div>If you’re looking for something Swift- or ARC-specific I don’t know of anything.</div><span class="HOEnZb"><font color="#888888"><div><br></div>Mark</font></span></div><div><br></div></div></blockquote></div><br></div>