Tuesday, June 30, 2009

Hidden cost of running Windows

You've probably seen this item mentioned elsewhere, but it bears repeating on "Linux in Exile":

Switching an office to Linux or other free / open source software comes with its own hidden costs - training, conversion, new software, etc. But Microsoft fans often gloss over the costs to run third party tools and anti-virus software, to fill in the gaps in functionality and security missing from Windows.

Those costs only go up when security fails in Windows. As David Ottewell writes in the Manchester Evening News, taxpayers in Manchester £1.5 million to clean up a Cornficker worm that infested Manchester town hall. And the best part? £600,000 of that went towards consultants to help fix the problem, including experts from Microsoft.

5 comments:

This is OT for your post, but a week or two ago I said I'd gather some numbers about boot times on my computer. The following are my results. This is from a single run, and there were things like time to type my password and such, but if I had controlled for that more carefully the times would have only varied slightly. They are taken from the point I pressed enter at the Grub menu. For Linux, I had to put slightly more effort to get Firefox to load, so considering that time probably 1-2 seconds shorter than what I report below would be fair. I'll come back with XP numbers shortly too.

This is on a laptop with a 5400 rpm drive. I didn't check to see if I was controlling for speedstep issues, but I suspect that the boot is mostly I/O bound anyway, and the processor is decent as well (Core 2 Duo 1.8 gHz).

Windows 7: 48s: logging in1:28: firefox loaded

Kbuntu:27s: logging in1:11: firefox loaded

I used to say that the time from pressing enter to when it's ready to use was the most important, and for me Windows has always been better than Linux on that point. (The above numbers continue to reflect that, though only by an insignificant margin within my error.) However, the difference has been closing, was often not that fair of a fight in the first place because of my setup, and the time to login screen is low enough on both systems now that I think that matters much less nowadays, so Linux wins this battle.

If I get really ambitious, I'll time the resume-from-hibernate time at some point. ;-)

Okay, so I just booted up XP, but my numbers here are terrible (from an accuracy standpoint). First, I don't actually have a stopwatch right now, so I just counted. And while my counting is pretty accurate if I get a good calibration (e.g. from the timer on the Grub menu) I was still counting about 4 sec/minute fast by the end, so I'll subtract 2 sec/minute from the times below. (I'm assuming I started at the correct pace and linearly sped up.) Also, I don't think my first command to start Firefox registered, and I didn't do it again until Windows had seemingly basically finished booting, so you can probably drop off a minute or so if I had done it right. In any case, the times with XP are far worse than either of the above times, which agrees with your times from before.

(The final thing I'll say is that I have a Thinkpad that has a bunch of crap start up on boot. A couple things I'm not sure how to get rid of, a couple things (like Norton) I just haven't bothered with, and a couple things (like an enhanced battery monitor) are useful. I'm sure these, especially Norton, contribute quite a bit to the boot time.)

Windows XP:~56s: logging in~5:15: firefox loaded

(BTW, when I say "firefox loaded" I mean there's a webpage that it has at least partially rendered to the screen that's showing. Another source of a little unfairness is if I have a Firefox instance that has additional tabs open, because that takes longer to load.)

>> I used to say that the time from pressing enter to when it's ready to use was the most important, and for me Windows has always been better than Linux on that point. (The above numbers continue to reflect that, though only by an insignificant margin within my error.)

Actually, your numbers reflect that from boot to Firefox showing a web page, Linux is doing better than Windows. 1:11 for Linux (Kbuntu), which is faster than 1:28 for Windows (7).

Even looking at how long until you get the login prompt, Linux is doing better. 27 seconds for Linux, versus 48 seconds for Windows.

Setting your XP boot time aside (because you claim terrible accuracy) your times and my times seem to match. Both our systems claim to have the same speed hard drive (but my Linux boot test was done with a slower USB stick) and both have a Core2 Duo CPU (but slightly different speeds, your 1.8 GHz to my 1.2 GHz.) So we can do some comparisons.

It seems that your install of Windows 7 Beta has shaved about 30 seconds from the boot time, compared to my Windows Vista install. But even still, Linux is coming out ahead.

I'm curious what applications you have installed on your Windows 7 system, or if this is a pretty bare system? I know that installed applications add system DLLs, which need to get loaded at boot-time, affecting performance. On my Windows Vista laptop, I'm running a standard "manager" build for our office. That means I get only a few applications: Microsoft Office, Visio, Firefox, Thunderbird, Calendar, Adobe Reader, and some other apps that we typically run. My Fedora 11 was a "default" install, and I specifically didn't tune anything afterwards.

Actually, your numbers reflect that from boot to Firefox showing a web page, Linux is doing better than Windows.

That's sort of because I made a typo in my first post; I meant to say that "I used to say the time from pressing enter on the login screen to when it's ready to use". In other words, come in, hit the power button, then leave for a minute or two to use the bathroom or whatever, then come back, sit down, type password, log on. Since the first part is sort of parallelized with doing other stuff, and has in the past been longer for me than the boot to login time, I don't care *that much* about how long it takes.

The reason this has gone down in importance is because the time to reach the login screen has gone down quite a lot since I had XP on my older machine. At that time login to ready was in the same ballpark as I get now but boot to login was a couple minutes, so it was the longer time and the latency you'd want to hide.

So the time I meant to be talking about is 40 seconds vs 44 seconds, which is a small difference anyway and probably covered by experimental error.

(on your linux times vs my linux times)

First, I'd not be 100% convinced that the USB stick is slower; it certainly is at bulk transfer rates, but for what would on a HDD be a seek-heavy time, the USB stick would win. I have no idea which would dominate during boot. In any case, I'd be very surprised if it changed our conclusions anyway.

Second, I'm assuming Fedora 11 uses Gnome, while Kbuntu uses KDE. KDE takes a LOOOONG time to load (in subjective time), and I think it might be a bit longer than Gnome. So if I had used Ubunto or Gnome, I think that would have made Linux look even better.

(I didn't choose KDE to make it slow or anything like that. KDE 4.2 or whatever Kbuntu has is treating me pretty well, while I have a pretty strong aversion to Gnome.)

Just some additional information that wasn't explicit before.

I'm curious what applications you have installed on your Windows 7 system...

In terms of startup programs, I added a couple of the more useful IBM utilities like that better battery meter, but nothing I'd think would add any significant time (e.g. Norton).

In terms of programs that are just sitting around, I have a few, including Office 2k7; OpenOffice; MS Visual Studios 2005, 2005 Express, & 2008; Adobe Lightroom; Firefox; Thunderbird; Adobe Reader; and some other misc apps.

...installed applications add system DLLs, which need to get loaded at boot-time...

I've never been all that convinced of that explanation to be honest, because I'm not aware of any mechanism by which they would need to be loaded at boot instead of when programs start.

I mean, I have sort of noticed a gradual slowing of Windows boxes over time, but I wouldn't say that it's really all that pronounced in the systems I've seen, and there are other explainations.

There are exceptions to this of course, where programs will add startup stuff and whatnot, but I don't think most programs do that. About the only things that I would buy are a couple MS programs like of Office that muck around with the system stuff a bit more than most. But even that I think has gone down over time as MS has gotten better about separating components.

About Me

I've been a Linux user since 1993, and since 2002 I've been fortunate enough to run Linux full-time at work. But, I've been asked to move back to Windows, at least for work. The difference between Windows and Linux has been shocking, to say the least. Since I find it interesting when long-time Windows users experiment with Linux for the first time, I thought it might be equally interesting for this long-time Linux user to blog about my first experience running Windows in over 6 or 7 years.