4 ms·
Something is wrong on your end, you can parallelize the build of typical C and C++ software almost infinitely. The reason why is because most C and C++ software
by jchw 6y ago
Something is wrong on your end, you can parallelize the build of typical C and C++ software almost infinitely. The reason why is because most C and C++ software do not have 'happens-before' dependency relationships due to the way translation units work, so basically every translation unit in a module can be compiled 100% independently of any other translation unit. In practice that means you can easily scale up to 1000+ processes with no issue, and in fact, this has been accomplished in combination with AWS Lambda:
https://stanford.edu/~sadjad/gg-paper.pdf https://stanford.edu/~sadjad/gg-paper.pdf
Actual screencast of it in action compiling FFMPEG:
https://asciinema.org/a/257545 https://asciinema.org/a/257545
(Perhaps the issue is you are bottlenecking on I/O or some other resource?)