I was not aware of the 'ninja' commands as I have always been using the documented utils/build-script. Thank you for sharing tips from your development workflow too. I will try it out!
Cheers, Nate github.com/contraultra mastodon.social/@contraultra > On Jun 21, 2017, at 2:25 PM, Slava Pestov <spes...@apple.com> wrote: > > >> On Jun 21, 2017, at 2:12 PM, Natthan Leong via swift-dev >> <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote: >> >> Hi, >> >> As someone who also recently started contributing, I was surprised to >> discover >> how much computing power was needed to build Swift. My first few build >> attempts >> on a mid-2014 rMBP took more than an hour with 100% CPU utilization which is >> unsustainable for future participation. > > A clean build of LLVM, swift, and the standard library takes a while, but > most of the time you shouldn’t have to rebuild everything from scratch. > > For example if I’m just iterating on the compiler, I can edit a couple of > source files and run ‘ninja swift’ and have a new compiler binary ready to > test in a few seconds. I only rebuild the standard library if absolutely > necessary, since that takes longer, but even then ‘ninja swift-stdlib’ is > only a few minutes. > > Also I always do release builds during normal development, only doing a debug > build if I have to run the debugger which isn’t very often. Release builds > produce a faster swiftc, so the standard library is built faster, and also > they link faster. > > Finally, it is possible to run only a subset of the validation tests while > you’re iterating on a specific feature, instead of having to wait the ~15 > minutes for ‘ninja check-swift-validation’, by directly invoking lit. > > Slava >
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev