> On Dec 17, 2016, at 11:13 AM, Brian Gesiak via swift-dev 
> <swift-dev@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.

Mark

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to