Sunday, August 26, 2007

Memory

Here is a very beautiful thing one tends to notice on a windows computer.
Imagine that it is a regular day (Sunday), in which you had planned to quietly download a few informative videos, distributed through the bit torrent network, which requires (naturally) use of a bit torrent client. Personally, I prefer 'Micro Torrent", due to it's small size, CPU efficiency and an impressive list of features.
The download would take most of the day on a regular DSL line, so it would be running in background, among some other constant friends: MSN, Anti-Virus, keyboard and sound card drivers and a ton of Windows-kernel stuff that we aren't supposed to know about.

A nice readout on my keyboard's led display tells me that the CPU is currently 0% utilized and memory about 65% full. That leaves me my entire CPU power and 170Mb of memory, which I suppose _should_ be enough for one instance of firefox.

You see, it happened that I needed a printout of my bank account traffic and as I use firefox exclusively, all my digital certificates are there. It loaded in it's usual 15 seconds flat and took the normal 5% of my memory. CPU utilization didn't budge above 2%, but I can understand that as most of the work was getting the program and its data from the hard drive.

So, it is now loaded and I happily browse to my bank account page and filter the records to only include the specific month I need.
Here is where the pain starts.

When I click the "Print Preview", which is a fairly regular and common task that a lot of people use, I guess, I don't like to be kepy waiting for 7 bloody minutes for the window to open. Furthermore, when I am satisfied with the look of the thing and click the "Print" button, it is not polite to leave me waiting for another 4 minutes before I see the "Print" dialog.

Still, I do enjoy sitting in front of my PC and watching the fancy hourglass icon while my system is COMPLETELY CRIPPLED, so much, in fact, that redrawing of the screen stops.

All the while, I see absolutely NO CPU USAGE, RAM CHANGE or DISK ACTIVITY WHATSOEVER.
I heard about 'hidden processes', but COME ON!

In short, the very advanced features that make Windows so dear to our hearts (dynamic use of free memory, preloading, delayed unloading, paging, etc) happen to really destroy performance in very specific circumstances. (Downloading a file on bit torrent and trying to print a webpage at the same time).

Alas, I fear, this cannot be remedied, as computer software complexity grows even faster than the hardware boom can match it.

I'd only wish to see the statistics on my various system monitoring utilities (such as the Microsoft's own Performance Analyser) to show me the real values.

P.S:
In case the values I do see are real, then please tell me why, OH WHY, doesn't Windows use all that free CPU and memory to finish loading the dialog boxes faster? It's not like the CPU was completely devoted to some critical other task, was it?

No comments: