Advanced Techniques to Reduce the Build Time in Xcode
This workshop is designed to understand and discuss the techniques that help us to build the Xcode projects fast so that you can focus more on development.
Understand behind the scenes of Xcode Build Process
[ 9.30 AM - 10.15 AM]
In this session, we will understand the number of tasks executed by Xocde build system when you hit CMD + B. we will discuss the following topics.
- What is build dependency graph
- Understand External and Implicit dependencies in the Xcode project
- What is Parallelized build
- About llbuild build system
- Swiftc and Clang (apple official compiler for the C language family) compilers
Measuring the build time
[ 10.15 AM - 10.45 AM]
In this session will cover the topics about how to measure the build times of Xcode projects. We will discuss the following topics
- Measure the build time of targets and each file
- How dependency graph is different for ObjectC and Swift
- What are clean build and incremental builds
Tweaking the Xcode build settings to reduce the build time
[10.45 AM - 11.30 AM]
In this session, we will understand what all are the options that we can tweak to get the faster build times so one can focus more time on development
- Parallelize Swift builds
- Compilation mode single vs modular
- Optimization level
- Improve build script phases
- Build active architecture only, how will that reduce the build time.
- Limit Objc interference
- Link Frameworks automatically
Coffee Break [ 11.30 AM - 11.45 AM]
Tweaking the Codebase to reduce the build time
[11.45 AM - 12.15 PM]
In this session, we will understand why we should need to tweak our codebase to get better and faster build times.
- Understand Swift type inference in complex expressions
- Benchmark and Future proof the build times
- Understand Objc interference
- Understand the Frameworks impact on build times.
Case study of an application
[ 12.15 PM - 1.00 PM]
In this session, we will take a complex application and will perform some of the tweaks discussed to get the build time from 60 ~70 seconds to 15 ~ 20 seconds.
Q & A [1.00 PM - 1.30 PM]
Kumar Reddy is an iOS Lead Engineer at Swiggy, Unicorn Food Delivery Platform. I do have about 8 years of experience in mobile app development and have designed and architectured mobile apps. Experienced in building mobile apps that are used by millions of users. Personally, I love the way the swift language designed and a fan since I started using the Swift. In free time, will read articles about compilers and ARKit.
- Github: https://github.com/BKRApps
- LinkedIn: https://www.linkedin.com/in/kumarreddy88/
- Twitter: https://twitter.com/kumarreddy_b
- Medium: https://medium.com/@kumarreddy_b
Venue will be announced as we closer to the event date.