Originally posted by: bsobel
't believe that you're unaware of the performance advantages of a paging file.
Whatever Larry. First you say "No matter how much ram you have, paging increases performance" then you say " I'm not suggesting that phenomenon is in any way performance-enhancing, and in fact it signals that you don't have enough physical RAM period" Which, if you were paying any attention at all, was all my original point was.
I was talking about "thrashing" there, not normal paging. Which I clearly stated in my original post.
Paging is performance-enhancing, overall.
"Thrashing" is not. Is my statement now clear enough?
Originally posted by: bsobel
I'll leave it to the others to discuss with you. I'm out, your one of those guys who just wants to argue about everything no matter how stupid or simple it is (any by god, if we can make an anti-MS conspiracy out of it all the better).
That's too bad, since this is a purely technical computer-science issue, and has nothing at all to do with MS, although that link I posted shows that they agree with my statement as well. It's pretty simple to see, if you look at it deeply enough. It effectively allows multiplexing your physical memory, whereas if that wasn't possible, it would require nearly 3x as much to achieve the same performance level for computing tasks.
In fact, paging is really a normal part of the memory hierarchy, just extended downward, since if you look at a CPU's L1/L2 cache-line replacement algorithm, it closely resembles "paging" as well. Yet, it is performance-enhancing. Why/how could that be?
Isn't it clear that the CPU cache functions more effectively, when the cache lines are used to their fullest, for the task at hand, rather than some of them being occupied by "stale" data, and not available to be used by the current tasks? How are memory pages in physical RAM any different? (This is likely why the NT VM model treats RAM as a cache of the pagefile, rather than the pagefile being a spill-over from the RAM, and why the pagefile is used, even when free physical RAM is available.)
The downside, of course, is the latency that occurs, shuffling the pages between RAM and the pagefile, and if the disk has a fragmented pagefile, or is otherwise experiencing heavy disk I/O, the paging I/O gets further delayed, causing more severe worst-case latency. So while paging can improve overall performance in the majority of cases, it can also suffer from even worse worst-case performance in the corner cases. That's why putting a (not necessarily the only) pagefile on a little-used spindle can be useful, and reduce paging latency/load on the other drives.
Edit: I will add that because of some other aspects of MS's actual implementation, the actual day-to-day performance will be somewhat less than the theoretical, but it should still offer some advantages. The biggest problem is lack of any sort of disk I/O prioritization scheme in NT, AFAIK, so paging activity can interrupt a stream of disk block I/O requests, and cause additional seek latency issues, unless your pagefile is on a less-used spindle.
I'm not entirely sure how much NT's "pre-emptive paging" of dirty memory pages actually helps though, since it may cause a larger number of pagefile-related disk I/Os than a purely demand-paged system. Additionally, the utility of paging out stale application memory pages, in order to use for disk cache, to do read-ahead pre-emptive caching operations, is dependent on the sequential access of data. In terms of worst-case random-access to a data file, depending on the level of read-ahead, far more application memory pages may be forced to the pagefile by the OS, than the number of pages used for disk caching that are actual used, and not simply disposed of. There are limits on how effective this is, just like there are effective upper-bound limits on branch prediction. In fact, it's interesting, because the CPU guys have taken this OS software feature, and implimented it in hardware (hardware cache line pre-fetch).
PS. If you thought this to be exhaustive, you should see the two threads on StorageReview that I was involved with last year or so.

Oh, and for the record, I still respect you guys totally. My anti-MS rants are more of a hardcoded reflex action, I try not to make them too personal, sorry if anyone felt that way.