"Hey this IDE is using 10 GB of ram and it's mostly a text editor and parser. This is ridiculous."
10GB is still absurd but in the days when those were significantly smaller, the undo stack was 1 action deep instead of infinite and you couldn't "show references" instantly in a 200 file project.
And sometimes it actually is a sort of optimization. They generically know how big the RAM pool is. They don't know what your individual CPU is capable of. So the simple approach is to cache the shit out of everything in memory to avoid having to calculate it multiple times.
10GB is still absurd but in the days when those were significantly smaller, the undo stack was 1 action deep instead of infinite and you couldn't "show references" instantly in a 200 file project.
And sometimes it actually is a sort of optimization. They generically know how big the RAM pool is. They don't know what your individual CPU is capable of. So the simple approach is to cache the shit out of everything in memory to avoid having to calculate it multiple times.