- http://useyourloaf.com/blog/slow-app-startup-times/
- Add DYLD_PRINT_STATISTICS to print out pre-main load time
- http://stackoverflow.com/questions/31080284/adding-several-pods-increases-ios-app-launch-time-by-10-seconds
- artsy/eigen#586
- https://engineering.tumblr.com/post/144507330193/peeking-into-a-black-box-the-effect-of
- "This is an issue in production, but is even more critical for our internal enterprise builds, which can take so long to launch that the OS terminates them."
- "Because the numbers do not bear this out, we conclude that the structure of the dependency graph does not affect launch time."
- https://twitter.com/sozorogami/status/792421991592648705
- “No silver bullet. Reduce CocoaPods."
- https://medium.com/@syshen/create-an-ios-universal-framework-148eb130a46c#.bffgvova6
- Merge dylibs into one master dylib, this could reduce dylib loading time
- https://github.com/stepanhruda/dyld-image-loading-performance
- http://stackoverflow.com/questions/13326435/nsobject-load-and-initialize-what-do-they-do
- http://stackoverflow.com/questions/6191480/objective-c-init-vs-initialize
- https://www.mikeash.com/pyblog/friday-qa-2009-05-22-objective-c-class-loading-and-initialization.html
- CocoaPod's +load time is factored into DYLD_PRINT_STATISTICS Strava time
- Couldn’t remove category +load methods due to necessity, replaced all others
- DYLD_PRINT_INITIALIZERS
- "calling initializer function” - http://opensource.apple.com//source/dyld/dyld-210.2.3/src/ImageLoaderMachO.cpp
- Use dispatch_once instead of attribute((constructor))
- Apptimize - _ApptimizeVariableInitializer
- Compile with -Wglobal-constructors to find implicit C++ constructors used globally
- Apptimize constructor
- (ApptimizeInt|ApptimizeDouble|ApptimizeBoolean|ApptimizeString|ApptimizeArrayOfStrings|ApptimizeDictionaryOfStrings|ApptimizeArrayOfInts|ApptimizeDictionaryOfInts|ApptimizeArrayOfDoubles|ApptimizeDictionaryOfDoubles||ApptimizeArrayOfBooleans|ApptimizeDictionaryOfBooleans)
- https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/dyld.1.html
- https://opensource.apple.com/source/dyld/dyld-132.13/doc/man/man1/dyld.1
- DYLD_* flag definitions
- https://developer.apple.com/videos/play/wwdc2016/406/
- https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html
- Initializing Objective-C Classes
- +load
- constructor
- +initialize (lazy))
- Module Initializers and Finalizers (constructor)
- Initializing Objective-C Classes