> 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