ETTrace: Reliable iOS Profiling With Flame ChartsRemember this open source profiler the next time Instruments crashes.Apr 27, 20231Apr 27, 20231
How To Speed Up Swift By Ordering ConformancesThe Swift runtime executes a protocol conformance check when you cast a type to a protocol, such as with as? or as!. This operation is…Jan 25, 2023Jan 25, 2023
Published inGeek CultureHow iOS 16 makes your app launch fasterWWDC22’s state of the union promised to bring some big launch time improvementsJul 7, 2022Jul 7, 2022
Published inGeek CultureCode Injection with Dyld InterposingSwizzling C functions in compiled iOS apps with dyld interposing.May 26, 20221May 26, 20221
Published inGeek CultureHow Order Files Reduce App Startup TimeA 150MB+ app binary file, like the one in Uber’s app, takes between 500 ms and 1 second just to be loaded into memory (measured on an…Jan 31, 2022Jan 31, 2022
Published inGeek CultureThe Cost of a ByteA summary of where energy is consumed when downloading an app and the carbon footprint of downloads at scale.Jan 9, 20221Jan 9, 20221
Published inGeek CultureThe Surprising Cost of Protocol Conformances in SwiftIn my last two posts I wrote about pre-main startup time, and how app size has a direct impact on how much work dyld does to initialize…Dec 3, 20211Dec 3, 20211
Published inGeek CultureHow iOS 15 makes your app launch fasterRead the full version of this post on the Emerge Tools BlogJun 23, 2021Jun 23, 2021
Published inGeek CultureWhy Swift Reference Types Are Bad for App Startup TimeThe app launch experience is the first impression you make on a user. Every millisecond they wait for your app to start is valuable time…Mar 4, 2021Mar 4, 2021
Published inThe StartupHow 7 iOS Apps Could Save You 500MB of StorageAn in-depth size analysis of top iOS appsJan 14, 20213Jan 14, 20213