MainThe main reason is compilation time. Compiling one small file when you change it may take a short amount of time. If you would however compile the whole project whenever you change single line, then you would compile - for example - 1000010,000 files each time, which could take a lot longer.
If you have - as in the example above - 1000010,000 source files and compiling one takes 10ms10 ms, then the whole project builds incrementally (after changing single file) either in (10ms10 ms + linking time) if you compile just this changed file, or (10ms10 ms * 10000 + short linking time) if you compile everything as a single concatenated blob.
Main reason is compilation time. Compiling one small file when you change it may take short amount of time. If you would however compile the whole project whenever you change single line, then you would compile - for example - 10000 files each time, which could take a lot longer.
If you have - as in the example above - 10000 source files and compiling one takes 10ms, then the whole project builds incrementally (after changing single file) either in (10ms + linking time) if you compile just this changed file, or (10ms * 10000 + short linking time) if you compile everything as a single concatenated blob.
The main reason is compilation time. Compiling one small file when you change it may take a short amount of time. If you would however compile the whole project whenever you change single line, then you would compile - for example - 10,000 files each time, which could take a lot longer.
If you have - as in the example above - 10,000 source files and compiling one takes 10 ms, then the whole project builds incrementally (after changing single file) either in (10 ms + linking time) if you compile just this changed file, or (10 ms * 10000 + short linking time) if you compile everything as a single concatenated blob.
Main reason is compilation time. Compiling one small file when you change it may take short amount of time. If you would however compile the whole project whenever you change single line, then you would compile - for example - 10000 files each time, which could take a lot longer.
If you have - as in the example above - 10000 source files and compiling one takes 10ms, then the whole project builds incrementally (after changing single file) either in (10ms + linking time) if you compile just this changed file, or (10ms * 10000 + short linking time) if you compile everything as a single concatenated blob.