Except then there's no parallelism since you're only building one file. Ideally you'd split it into N files to take advantage of multiple cores, but then you have to decide how to split it...
Right. My rule of thumb would be "one implementation file per system", or what would be called a "module" in other languages. So that a moderately complex code base ends up with a about a couple dozen source files to build.
And each system should only have a single 'public interface header' to keep the number of cross-system include dependencies low.
flohofwoe|1 year ago
And each system should only have a single 'public interface header' to keep the number of cross-system include dependencies low.