A collection of code substitutions and configurations that can improve Objective-C code performance on iOS.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 4641e01 Feb 23, 2014
Failed to load latest commit information.
Foundation.md NSDateFormatter update Nov 3, 2013
QuartzCore.md Update QuartzCore.md Feb 22, 2014
README.md Readme update Nov 2, 2013
UIKit.md CALayer drawsAsynchronously Nov 2, 2013


iOS App Performance Cheatsheet

A collection of code substitutions and configurations that can improve the performance of Objective-C code on iOS.

Most code substitutions and configurations documented here consist of replacing high-level APIs that were made for flexibility over performance with lower-level alternatives for the task at hand, or class properties that affect drawing performance. Good architecture and proper threading is always important for app performance, but sometimes we need to use specialized implementations.

Table of Contents

iOS App Performance Cheatsheet is sectioned into Markdown files by Objective-C framework:

Why is this on GitHub?

  • Great format for saving to disk or accessing via the web
  • Encourages contributions and improvements
  • GitHub Flavored Markdown looks nice


There is a reason why this is called a cheatsheet. You should avoid premature optimizations, and only seek out code replacements when you have determined that a specific code path has become a performance bottleneck. Hopefully, however, this cheatsheet will provide a bit of insight into some of the bottlenecks that usually arise, and some of the options available to you.


Pull requests are welcome! The best contributions will consist of substitutions or configurations for classes/methods known to block the main thread during a typical app lifecycle.