and i stand by that.. windows isn't part of the open source project, and because of that the GNU GCC project doesn't release windows ports of it.. mingw is the windows port for gcc, and it's not gnu that released it.
Then why are there ports for so many other systems that aren't a part of the OSS community? Sun, HP/DEC/Compaq, SGI, etc all have commercial compilers that they would rather sell you for their systems so why would they have any part of helping the GNU project get gcc working on their systems?
it doesn't page things out until the page gets requested.. when the kernel requests a page, it looks in the page table for the running process.. if the page exists in the table, then it loads it (and if it can't find it.. page fault depending on the hierarchy level).. if the page doesn't exist in the table, then the kernel reads more from the disk (demand-based paging).
As I said, I know how demand paging works. But the NT VM has to have some heuristics to decide when it needs to start evicting things from physical memory and I can't believe it would just be something simple like just testing if > X% of memory is used. So even thought your file may be demand paged (with read-ahead that you seem to be ignoring) the VM is also looking at the rest of the system to decide whether or not it should free up some physical memory which will result in pages being evicted from memory. This means either other executables and libraries pages or some process's private writable data will have to be stored in the pagefile, but the affect is the same in that when you switch back to another process more data will need to be paged back into memory and the system will seem sluggish.
can u show me some references? games are predominately dependent on memory transfer rate (communication is done through memory for the most part).. and more memory to memory transfers reduces register pressure significantly, which would improve performance.. c++ compilers always keep variables in memory, so I can't imagine how assembly-optimized code would be beneficial.
There's only 2 or 3 companies that have ever released source code of their old games, id and 3DRealms. id was going to release the Q3 code recently but it was delayed since they had just licensed the engine out again, I'm not sure if they ever released it after that. Q2 was released a while back though, although it's like 7 years old now.
Looking at Q2 there's assembly code for screen copying, polygon model drawing, alias model transform and project, horizontal 8-bpp span-drawing code with 16-pixel subdivision, edge clipping and emission, edge-processing, turbulent texture mapping, horizontal 8-bpp transparent span-drawing, 8 bpp surface block drawing and sound.