[swift-dev] Performance issues in automatic reference counting (ARC)?
mark.lacey at apple.com
Sat Dec 17 13:47:22 CST 2016
> On Dec 17, 2016, at 11:13 AM, Brian Gesiak via swift-dev <swift-dev at swift.org> wrote:
> Hello all!
> I really enjoyed Chris Lattner's slides from his talk at IBM <http://researcher.watson.ibm.com/researcher/files/us-lmandel/lattner.pdf <http://researcher.watson.ibm.com/researcher/files/us-lmandel/lattner.pdf>>.
> The speaker notes mention ARC:
> "There are two principle downsides to ARC that people cite: one is the need for atomic increment/decrements, which can be slow." [...] "The performance problems it can cause are real in some important cases"
> Can someone point me to a good resource that explains these problems?
This might be a good starter post: https://fgiesen.wordpress.com/2014/08/18/atomics-and-contention
> I guess atomic reference count changes create overhead in multithreaded applications?
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.
> Are there more detailed explorations into this topic?
If you’re looking for something Swift- or ARC-specific I don’t know of anything.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-dev