Building Swift Compiler in Parallel?

I did a 4.2 dev build myself about a month ago since I'm running Ubuntu 18.04. Since I don't have a machine here suitable for building it, I spun up an instance in the Google Compute Cloud with 1 CPU, 6 GB of RAM, and a 100 GB disk. It took around 4-5 hours for the complete build including all prerequisites (LLVM etc.).

Since that build is getting a bit long in the tooth I was thinking of doing another build and I was wondering if I could speed it up by providing more CPUs. Are there any options I need to pass to the build system to tell it to make in parallel? Or is that even possible?

Also, how much should I bump the memory up by if I build in parallel? I realize there's no definitive answer, I'm just looking for insight from those who I'm sure have much more experience building it than I do.

Finally, any idea what the timeline for a final release of 4.2 and/or support for Ubuntu 18.04 is, or whether there have been significant changes to the 4.2 branch in the last month or so? I guess what I'm asking here is, is it really worthwhile for me to do another 4.2 build, or should I just keep using the 4.2 build I've already made until an official one comes out? Context: I'm just experimenting with the language for my own edification.

Thanks for your time. All input welcomed.

The build system will automatically detect the number of CPUs and use them. That being said, one will observe diminishing gains with each additional CPU. I'd budget about 300-500 MB of RAM per core and up to 70 GB of disk space on Linux for Debug+Assert results and about 4 GB of disk space for Release+Assert builds.

1 Like