I am often purturbed when I think about boot times, app load times, my memory usage. So, I finally did some unscientifc experiments to get to the bottom of this -- at least to satisfy my own questions. Mainly I was interested in determining if it was the OS or the applications that I run which are responsibile for the excessive use of resources.
After I reformatted and installed Windows Server, I found it to be VERY fast! It idled at less than 100MB of RAM which I thought was excellent. I did the same experiment with my laptop (which runs Windows XP) and found the same. With no IIS or SQL Server installed -- or MS-Word or anything, the OS is efficient. It boots very, very fast and is good with the memory.
Then I turned on IE -- RAM usage went crazy. I can easily end up with a 30-40MB IE process. I turn it off -- it's better. I turn it on -- excessive RAM use. I guess it's to be expected. We don't get memory usage performance counters when we write HTML.
NOTE: When you use the task manager -- don't be a meathead. Turn on the "virtual memory" column. If you try to figure out how much RAM your app uses without counting the VM, you're a meathead.
Then I installed IIS -- Ram usage went crazy. SQL Server, crazy again. MS-Word, Outlook, etc now I'm over 500MB of RAM and I'm not really doing much yet. In fact, Outlook alone can suck up 90MB of RAM.
Often, I'm working at around 800MB of RAM on my desktop and I'm not even playing a video game.
Ok, I guess most people don't have IIS and SQLServer running all the time. (I'm a developer) But slow boot times also come from the MS-Office stuff, AIM, MSIM, ZoneAlarm, GoogleDesktop and that Adobe Tray Icon. Together, AIM, MSIM, ZA and GD exceed 100MB of RAM just idling, often more when they are being used.
So it's not the OS! It's the apps you run on it.
I chalk it up to programmers not profiling their code
The "quick" solution to getting around the slow experience is to run with dual procs. Everything "seems" faster when you run with 2 procs
Some might say that "the answer isn’t dual procs because the bits have to be written to take advantage of the second proc. I’d be surprised if AIM was multithreaded on purpose."
Well, the two procs don't help AIM run better. But that's not the point!
Multi-procs help me run Outlook, MSIM, IE and AIM at the same time. They all "seem" to run faster, because they get more CPU time. What you mainly experience right off the bat is increased load times -- which is in essence what makes booting faster.
So, yeah, no one writes a multi-process application these days. (BTW "multiprocess" applications take advantage of multiple CPUs, not "multithreaded" applications. Only processes can jump CPUs.) But who cares. Dual CPUs still make the world load faster and gives more CPU time to my applications and that's why 2 or 4 or 8 is better than one.
There are a few motherboard architecture issues you have to be aware of when you build a multi-proc machine. Mainly, you need to find a chipset that won't bottleneck the buses. Intel's new Dual Core CPUs do a good job of that. And incidently, that's pretty much the same as running 2 CPUs. But becareful beyond 4, things get weird.