logoalt Hacker News

cogman10yesterday at 10:26 PM0 repliesview on HN

Absolutely it does, for 2 different reasons.

First up, the nature of dlls is that the same dll for multiple applications gets saved in memory just once. If you have 2 windows applications and one is 32bit and the other 64bit, then both of those applications end up loading up effectively the same dlls, but one is compiled for 64bit apps and the other 32. That nearly doubles the amount of ram needed in a mixed system.

But then there's just the fact that 64bit code by it's nature uses and passes around 64bit pointers everywhere. That's not quite as significant but it does have an effect.

The other part that ends up adding to the memory consumption is from XP on microsoft added compatibility layers. What those effectively did is distribute a different set of dlls based on the application being launched. So now instead of having 1 copy of the dlls like you did with 95, 98 and ME you can end up with potentially 3 or 4 different dlls. And that's ultimately exploded as more versions of windows have been released.