google / promises

Promises is a modern framework that provides a synchronization construct for Swift and Objective-C.
Apache License 2.0
3.79k stars 291 forks source link

Extremely slow compile time of Objective-C files #186

Closed Kaspik closed 11 months ago

Kaspik commented 2 years ago

Hey guys!

With recent release of Xcode 14, Apple introduced Build Timelines. We can now visually see what's the problem in our build times, and I'm gonna be honest - Google promises is one of the worst in our case. We use Firebase Analytics and Crashlytics, not Promises itself, but attaching a screenshot of build timeline of our clean build before we get into the compile time of our project. You can see FBLPromise+xxxx.m are the worst basically (probably because they are still in Objective-C?).

Especially because we didn't choose to include promises and we have to have it in code due to Firebase Crashlytics, it would be nice to focus and improve these compile times. We all know since iOS 11 a lot has changed and even these benchmarks are not valid anymore.

Let me know if we can be helpful somehow. Thanks!

Build environment: MacBook Pro M1 Max, 32GB, Xcode 14.0 Beta 1, iOS 16 beta 1 simulator of iPhone 13 Pro

Screenshot 2022-06-07 at 15 50 13