Tools for determining ARC overhead?

Just curious what tools/methods people are using for determining how much of an impact ARC is having in critical paths of their code? Just Xcode instruments?

Is there an easy way to visualise where all the retain/releases will be inserted in the code itself?

4 Likes

The best option currently is Instruments -> Time Profile -> Call Tree -> Invert Call Tree. There's some work in progress that could help with identifying when things are retained in specific hotspots, but there isn't an easy visualization tool right now.

4 Likes

This is useful David, thanks!

Enhanced tools for creating high performance Swift code would be very useful.
I'd also love an easy way to visualise some of the code transformations the Swift compiler is doing. Like seeing the source of auto-synthesised implementations (e.g. Codable), seeing retain/release insertions, seeing a practical translation of a result builder into normal readable code. These sorts of things would supercharge debugging and performance tuning for me!

1 Like
Terms of Service

Privacy Policy

Cookie Policy