I suspect the difference is negligible in practice. In both cases, the files are likely to be cached in memory after they're read the first time, so you're not really reading it over and over.
I suspect the difference is negligible in practice. In both cases, the files are likely to be cached in memory after they're read the first time, so you're not really reading it over and over.
From a performance standpoint the win comes from not having the compiler start from a blank state for each file but keep the compiled objects in memory and only update the changed files. I suppose a modern reimplementation of that idea (that has more memory to spare, after all the official BC++5 requirements were 16MB of RAM) would be able to have a more fine-grained approach.
https://gcc.gnu.org/wiki/IncrementalCompiler
https://www.reddit.com/r/cpp/comments/59n8ya/what_happened_t...
I don't know how much effort is poured into these projects. There are some clang based servers like ycmd and rtags, but these are used for linting, refactoring and search (so no incremental compilation).
But yeah, i do not see much effort going on in improving these areas. I think people are just used to "patchwork IDEs" and find them good enough.
Yes, I remember it being very pleasant when borland C++ crashed after running your application, losing your unsaved work.
edit: that was on windows 95/98 time; so it is more likely that the application crashed the whole OS.
But at the same time it can be a convenience if you dont want to save but instead make a small change to try something out.