I’ve been spending a bit of time over the last week or so updating some of my tools and one of them – West Wind Web Connection – usually goes through a period of stress testing before it goes out the door to run through a battery of Web requests I have set up to test for failures of the demos and also provide a rough performance picture that I can compare with previous builds.
One of the things I do usually is run through an install on XP, IIS 6 on Win2003 and now on Vista. Now I develop on Vista at this point so I know pretty well what the experience is like, but I still need to test installation and set up on a default Vista installation which unlike my machine has UAC enabled and Admin Approval mode on.
So I ran a short version of the stress tests and it was immediately obvious that on Vista these requests were running more than two times slower than they run on the same machine with XP. In some cases the slowdown was even more severe – closer to 4 times slower actually.
This particular application is fairly disk intensive reading and writing lots of data from disk and writing to a number of files in the OS and looking at the numbers I was getting for request times I was somewhat embarrassed <s>. I’d hate to have an app on this platform run that slow. I immediately retried the same set of tests under XP and noticed the huge difference.
I’ve been using Vista for over a year full-time now and it’s never appeared slow to me, and testing on my development laptop that same code runs blazing fast. But my dev machine is also a significantly faster processor, although the test machine is a pre-Core-Duo 2Ghz Pentium with lots of ram and fast hard disk.
But that got me thinking – the Vista test machine is running with UAC on and my local machine is not.
So I went back and disabled UAC and turned off Admin Approval mode and immediately performance improved significantly although still lagging slightly behind XP - 5-10% which is reasonable.
So the question is what about UAC is making Vista so slow? My first thought was that it’s because of folder virtualization which basically detects access to certain folders for access that isn’t allowed and writes that output into a special user specific folder and so allows application that would otherwise fail to run.
But after checking permissions and explicitly making sure that application has rights in the various folders it needs to read and write to directly the performance did not improve at all, so it doesn’t appear that that’s the problem. Something else is going on and slowing down the app.
It seems to make no sense to me that UAC should slow applications down once they’ve launched and assuming that they do have proper access to the file system where data needs to be retrieved from and written to.
Anybody else seeing this sort of behavior? I've noticed that overall with UAC on the performance of the machine feels much more sluggish than with it off overall.
UAC - What were they thinking?
Aside from the annoyance of UAC also paying this hefty of a price of performance is really a killer.
UAC is easily the biggest embarrassment in Vista. Honestly, who in their right mind could possibly think this as a workable solution to security other than to protect their own ass from legal assault. ‘Oh you turned UAC off? Weeeeeell – you’re on your own then…”...
I suppose UAC is not nearly as intrusive for a typical user who uses the browser, a word processor and an email program, but for a power user who runs many applications all day long or even just needs to copy files into 'disallowed' places it's not an option. With UAC on Explorer becomes nothing more than a UAC prompt generator.
Basically UAC is an attempt at saying - "We really can't fix security in Windows, so we're going to make it impossible to run ANYTHING at all on the system". Not quite, but we're getting there <s>... OS security needs to keep stuff out BEFORE it becomes a problem where the operating system is blocking you!
I cringe everytime I see one of those Apple ads because I know - for once – they’re right to make fun of Microsoft for this boneheaded idea.
Now you can add this slowdown issue ontop of it as yet another annoyance to go along with the rest.