Xcode 6.3 Incremental compilation does not work consistently
| Originator: | info | ||
| Number: | rdar://20476599 | Date Originated: | 08-Apr-2015 06:10 PM |
| Status: | Open | Resolved: | |
| Product: | Developer Tools | Product Version: | 6.3 |
| Classification: | Serious Bug | Reproducible: | Sometimes |
Summary: I’m working in a fairly large Xcode project with around 100 Swift files. Compiling all these Swift files from scratch takes around 4 minutes in a 4GHz iMac Retina. I was very hopeful after the introduction of incremental compilation in Xcode 6.3, but now I’m greatly disappointed, as my productivity and the productivity of my team is hugely impacted by this performance issue. I'm aware of an issue that will consistently make every file with an overload of a function that was modified in another file be recompiled. That alone is huge deal and should be fixed, because overloaded functions are a useful and common thing in the language (== being a really clear example). However, I'm not talking about that issue. I've experimented with changing different things in my project, all of them as simple and innocent as renaming the names of parameters of a local closure (which should have no effect in the resulting binary) in a file that has no overloads. Every once in a while, Xcode will recompile all Swift files, and I will have to wait for 4 minutes until I can continue working. This doesn't reproduce consistently, and I don’t have the time to chase for consistent repro-steps. I imagine that Apple is already testing internally with very large Swift projects. Right, right? Steps to Reproduce: - Open a large Swift project. - Compile successfully. - Perform a very simple modification in one file. Expected Results: - At best only that file is recompiled. At worse, a few other files are recompiled as well, but that's hardly noticeable because one can iterate on a project changing one line at a time without having to wait for minutes between each iteration. Actual Results: - After having done a few iterations Xcode will suddenly recompile the whole thing, and the developer will, at best, go grab a drink while they wait, and at worst, enter a state of rage and fury and begin swearing at Xcode. Regression: I can't think of any other platform or language that suffers from this performance issue. After all, who would want to develop software in a language that has such long iteration times?
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!