Archive for the ‘Performance’ Category

Windows 7: Good and Bad

Wednesday, November 11th, 2009

Since Windows 7 has been out for a while now, it’s time for some real-world benchmarks to start rolling in. I haven’t seen too many yet, but a first look appears to place Win 7 slightly above XP in some tests…but slightly below it in others. And in a totally unsurprising non-revelation, Vista didn’t win a single test.

This said, the tests that PC Magazine ran weren’t exactly exhaustive. They tested things like comparative start-up and shutdown times, video encoding, and also ran a few basic benchmarking tools. And while Win 7 won 3 tests, it only won the “shutdown time” and SunSpider comparisons by a large margin. Otherwise, the results aren’t all that different from XP. I’m sorry, but shutdown time is probably so irrelevant as to be useless as a test. I doubt most users care how long this process takes, since they’re likely to tell the machine to shut itself down and walk away for the night.

This doesn’t mean you shouldn’t upgrade to Windows 7 from XP. Upgrading might be the only way to make use of some newer hardware or applications (though the latter is probably debatable). This will become more evident over time, as Microsoft loses interest in XP and starts putting it lower on the patch/upgrade food chain. Eventually it’ll be put out to pasture, and you’ll be stuck upgrading to some newer Windows release.

If you have Vista however, the choice is somewhat clearer. Vista has low acceptance, is filled with annoyances and flaws, and didn’t win any of the tests (at best it was somewhere in the middle). Windows 7 is at least better than Vista, even if it doesn’t truly beat XP.

If you do decide to upgrade, remember that both Vista and Win 7 require more memory (1GB vs 256MB), CPU, and disk space than XP. Thus, your current machine may be a total dog after you upgrade. If your system is more than 3-4 years old, you might want to seriously consider a new machine. Prices are currently low, and you can make the migration from your older OS to Windows 7 in stages if necessary. If you try to upgrade XP to Windows 7 (which may not be possible at all) you may end up with an unusable system.

Don’t forget to take a backup if you try an upgrade, whether from XP to Vista or Vista to Windows 7.

Chrome Gets a Face Lift

Wednesday, November 4th, 2009

Google’s Chrome browser, which accounts for only a very small percentage of all user activity at present, is getting an upgrade. As of the new Beta 4 release, Google is touting a 30% speed increase overall in the browser’s performance. They’re also adding a raft of new features, including bookmark sync, which should help attract more attention to the product.

The sync feature is probably the most interesting one (as others have noted) in this new release. It’s a welcome idea, but it does come with some caveats. According to the announcement, “sync requires that all the machines being kept in step run the Chrome beta, and that the user has a Google account, such as a Gmail username and password. The browser syncs bookmarks using Google Docs, the company’s Web-based application suite.”

Basically, it sounds as if they’re storing a copy of the bookmarks file somewhere in your Google Docs account, where you can access it from any machine on the Internet. I suspect that you probably have to enter your Google account information into the browser’s sync settings (I’m guessing here) and it automatically checks the file revision when you connect. This makes a lot of sense, since some type of central repository has to exist in order to sync the bookmarks file. And of course, you probably can’t sync if Google Docs is down or you can’t connect to it for some reason (e.g. a firewall or other port restriction).

What’s also interesting is that Chrome is interested in improving JavaScript performance. It’s touting “Chrome 4.0’s faster JavaScript rendering speeds” — which also makes sense, since JavaScript is behind Ajax and other Web 2.0 features. I find it amusing that the JavaScript, which was only a toy half a decade ago and seemed to be vanishing in the face of .NET, PHP, and other languages, is rapidly becoming the glue that holds all these cool new features together. Ah, the more things change the more they stay the same.

Here Comes Lynnfield!

Thursday, September 17th, 2009

Anyone who hasn’t been living under a (technical) rock knows that Intel has announced its latest series of processors, code named “Lynnfield.” I always find technical-project code names interesting, but have no idea where some teams come up with theirs. This one promises to be interesting.

As evidenced by PC World’s recently published tests, the new release appears to be pretty typical in terms of features…but is at least somewhat faster than the current crop of CPUs, as one would expect. Over the last few years, processors have tended toward “multi core” architectures, in which one chip holds several actual CPU layouts. Even the fastest single CPU can only perform one instruction at a time, so the multi core design allows them to work like dual, or even quad processor systems.

In general terms, old-style programs were basically linear. They expected to request execution of an instruction, then waited for the CPU to deliver the result. Newer programs designed for multi-core or multi-CPU systems (especially things like games, transaction processing software, search engines, and some webservers) can detect the presence of more than one processor. They’ll then fire off multiple independent processes that each perform a certain task; or they’ll use “threads” to do the same thing. A thread is a task that runs under a single process (they’re also referred to as “lightweight processes”), executing a task and terminating when it’s done.

Thread-aware programs can fire off multiple threads simultaneously, increasing overall speed by having each processor perform a separate task. But since they don’t start and stop separate processes to do so, lots of time and memory is saved.

The new Intel processors expand on the multi-core offerings of previous releases. You probably won’t see them in cheaper (low end) systems, but they’ll start appearing in mid- and upper-range systems soon. Hey, just in time for the holidays! What a coincidence.

The Wrong Way To Correct Performance

Wednesday, August 5th, 2009

Earlier today, I was astonished by a Facebook posting by a friend, who basically said her PC was performing badly…so she wiped and reloaded the whole OS. Now she’d realized how many applications were installed, and was lamenting all the time she’d have to spend re-installing them.

The reason this posting caught my eye was that another friend once told me he used the same method as his “tried and true” solution to any Windows problem. Lose a file association? Wipe and re-install. Machine running a bit slower than you’d like? Same solution. What an incredible waste of time. There are far better methods that are significantly less labor intensive and time consuming.

Apparently many people are convinced that any slowness in Windows must be the result of a virus or other piece of malware. This simply isn’t true (though I’ll bet millions of users have infected systems and are completely unaware of the fact). Well written viruses are stealthy. They won’t slow down systems so badly that owners are tempted to search for problems.

Badly written viruses are, of course, another ball of wax. They, like any other defective piece of code, could cause massive performance hits or repeated Blue Screens of Death.

I’ve suggested the use of a good Registry cleaner and a disk defragmentation tool (even the built-in Windows version is pretty good) on many occasions. These tools, along with a decent firewall to keep bad guys away, are still your best line of defense in terms of performance preservation. Machines degrade over time due to fragmented disks and bogus/unneeded Registry entries. They need maintenance, just like a car or any other electo-mechanical device.

You (hopefully) don’t swap out your car’s engine every time the oil is due to be changed. That’s what the “wipe and rebuild” method equates to, and it’s massive overkill. Install the right utilities, back up your disks regularly, and your system will effectively maintain itself.

Graphics, Games, and Business

Friday, July 3rd, 2009

As part of my recent PC upgrade saga, I decided to run some tests to see whether built-in graphics cards could in any way match the performance of, for instance, an SLI card. The new Intel DG35EC board came with built-in video and an DVI connector, so it seemed a good idea to try it out first. It boasts HD video capability and other nice features.

The initial tests looked pretty good. The video was reasonably fast, refresh rate was good, and overall I was very pleased. Then I decided to try the acid test, which is currently a copy of THQ’s “Company of Heroes — Opposing Fronts.” It’s a very graphics-intensive game, and I knew it was the straw that broke the camel’s back on my old system. I fired it up, and was immediately appalled.

The overall refresh rate was fine, and the game’s cut scenes performed reasonably well. But during gameplay, it was nearly impossible to fly over the combat map without everything freezing for up to 20 seconds. The lack of video memory apparently meant the game had to flush the video buffers and reload them with the new map location. It made gameplay intolerably slow

Once the new card (a GeForce 9500 GT SLi unit with 512MB on board) was installed, the difference was amazing. The graphics were richer, faster, and fuller in density even than on my old machine, which also had a fairly high end 512MB card. Now there’s absolutely no stutter, no delay in scene changes, and I can run the game in its highest graphics density.

Does everyone need a card like this? Absolutely not. If you’re just using a browser and mail, or even business applications like Office, there’s no reason to invest in a high end video card. But one can make a significant difference if you game, work with high resolution video, or do other video-intensive work.

In fact, if your PC is relatively new and you’re only having problems with graphics refresh rates, a $75 upgrade might be all you need. Faster CPUs don’t necessarily translate to better graphics. But you may have problems finding a very high end card if, for instance, your system doesn’t include SLi or PCI-E card slots. Shop around.

Are Cheap Printer Cartridges Worthwhile?

Thursday, June 18th, 2009

Today a colleague asked a question on a mailing list I frequent. She’s in the market for new inkjet cartridges, and was wondering whether to buy OEM (Original Equipment Manufacturer) cartridges, or one of the third-party alternatives. The latter often cost significantly less money. I know of an Epson printer that uses $100 black cartridges — the printer itself is only $160 on the street — but you can save $60 by going with a third party.

All this said, the answer is “it depends.”

First off, manufacturers like using scare tactics, like “third party ink will clog your printer’s jets.” That might be true in some cases, but no third party could stay in business long if their product was that defective. At one point, manufacturers tried threatening consumers with ending a product’s warranty if third party supplies were used. That got shot down pretty quickly, and I’m not aware of any current cases where this is still in warranty literature.

On the other hand, third party ink has often been shown to produce lower quality output. In other cases, it’s been fade-tested against OEM ink and has lost. I’m also aware of a few situations where third parties have included the wrong ink in cartridges (often after the OEM has changed formulation for a new model of printer). This could damage a device, or simply might not work at all.

So the best answer I can provide is this: if you need to save money, test a third party cartridge from a reputable vendor against an OEM model. Print the same image or other document on the same printer, using the same paper, and compare the two side by side. If you’re worried about fading, hang both papers in a bright, sunny window for a few days or a month. See which fades more. Also, keep a running count of printed pages and see which cartridge produces more pages before running dry.

Saving money is a good thing. But “cheapest” doesn’t always translate to “best value.” As usual, your mileage may vary.

A Gaming Laptop?

Monday, June 8th, 2009

I recall a time, some years back, when I had to attend a week-long conference in a city not known for its night life. To prepare for this experience, I wandered into a software store and picked out a game that looked interesting. I figured I’d haul my department’s sole laptop (remember those days?) along and do some serious gaming.

Then I found out the laptop’s video card wasn’t even SVGA. The game wouldn’t even install.

Happily, those days are gone. Today’s laptops come with pretty significant graphics capability and are often decent gaming machines. But I have to admit I was surprised to see that Sager has come out with a “gaming laptop” that’s specifically built with components to make games run well.

Now, there are already gaming “laptops” on the market. Alienware, Gateway, and a few other companies sell them. But generally they weigh in at 9lbs or so, which (in my opinion) is just way too heavy to lug around. 17″ screens are nice, but so is not having a sore back or shoulder. The Sager, by comparison, is only 7.1lbs. That’s no worse than my Lenovo T61p.

The nice thing is that the Sager has a very good graphics card — critical to decent game performance. Apparently it’s “one of the first systems to run the Nvidia GeForce 260M GTX graphics card, which performs as well as the GeForce 9800M series cards found in the P7808u, the GT627-218US, and the G71G-Q1. And it loads 1GB of video memory.” Plus, you can customize the configuration to get more system memory, bigger disks, and other options. And its list price is only around $1500, so it’s not insanely overpriced like other game-specific systems.

Many users don’t seem to understand that performance isn’t always about the fastest CPU or disk. As I’ve said on many occasions, a solid amount of RAM and a good graphics card can sometimes do more to boost performance than the fastest CPU. I still run an old (2004 or so) 2.8GHZ P4 chip with 2GB of system memory.

Recently I installed the latest “Company of Heroes” edition, which tests the system to check its potential performance during gameplay. It got a “good” rating all around, and plays well even in graphics-intensive areas. My Geforce 7600 GS (with 512MB of memory and a fast chipset) probably had a lot to do with that. A lesser graphics card with a “newer” CPU probably would not have performed as well.

If you’re after a gaming laptop that doesn’t cost a bundle or weigh a ton, the Sager may be your best choice.

“Page’s Law” and Performance

Wednesday, June 3rd, 2009

An overriding problem in the software industry is what we’ve always referred to as “feature creep.” Basically it works like this: someone writes a new application that’s fast, works well, and fills a need. So the next version adds extra features (many of which may have been requested by a single customer) and, allegedly, “extra value.” The problem is that in doing so, the software becomes slower.

The effect is even more pronounced if developers have already started work on a new release, then are suddenly told that some snazzy new feature they hadn’t planned for has to be added to it. This messes up the whole development schedule and can wreck the stability of the new product.

I blame upper management. I’ve seen far too many instances where some sales guy walks in and demands a feature that one customer insists on having, and executives say “sure, why not?” without thinking about the global consequences of such a move.

Last week Google’s Sergey Brin put a new moniker on this process: “Page’s Law.” It’s the idea that any piece of software will get twice as slow every 18 months as the result of feature creep, which is why your computer seems to get slower over time.

It’s partly true. One only need look at the performance difference between Office 1998, 2000, 2003, and (worst of all) 2007 to see how feature creep causes applications to slow down. Thing is, that’s not the only cause as nearly any PC technician knows.

PCs slow down for many reasons. Some become infested with spyware. Some users load too many start-up applications, or try to run high end tasks on systems with insufficient memory and CPU. Others end up with badly fragmented disks that kill performance. Users play with their machines’ settings without really knowing what the effect might be. What worked well out of the box may not work once the system is “customized” for the user.

This is why I always suggest buying ahead of the curve — get more than you need in order to future-proof your system to some degree. We all know application sizes will continue to grow over time. Google may be trying to optimize their own services to minimize Page’s Law, but few other companies are that responsible. If you want cutting-edge software, it’ll probably be an unbelievable pig in terms of resource requirements.

Problems in the Darnest Places

Wednesday, May 20th, 2009

A few weeks ago I mentioned my primary Windows PC was randomly slowing down for no apparent reason. I went through numerous diagnostics, including removal of various bits of software (BitTorrent DNA was apparently part of the problem) but the issue persisted. To recap: on random occasions I’d try to open an application, file, or folder and suddenly the disk I/O light would come on solidly for up to 5 minutes. Logging into the system after a reboot took up to 15 minutes.

For a while, I thought I’d been hit by malware of some type. But I’m very paranoid about what makes it onto my system and have run Zone Alarm for several years with no incidents. I finally isolated the problem today, and the steps taken might be useful for others with an intractable issue like this.

The first step was to open Task Manager. Then I worked as usual until the disk I/O light came on and the system hung. At that time I checked active tasks, and clicked on the CPU column twice to re-order the applications. I wanted the highest CPU using processes at the top so I could see what was happening. This didn’t show anything unusual, but I did notice that vsmon.exe (the Zone Alarms scanning process) was taking a steady 2-5% of CPU time when the system was hung. So, on a hunch, I added disk-related columns (disk read and write) to Task Manager’s output using its View->Select Columns option.

This showed that the vsmon.exe process was performing huge numbers of read operations while the system was otherwise hung. Now I was onto something, but I needed to know which file it was accessing. That’s easy. The nice guys at Sysinternals have a utility called FileMon (very much like the lsof utility on UNIX) that shows, in real time, which files each process is accessing.

Running this utility, it turns out vsmon.exe was constantly re-reading a game patch I downloaded a month or so ago. This file is 1.3GB in size. When I rebooted, scanning this file could take 10 minutes (rendering the system unusable during that time). Periodically, vsmon.exe apparently decided it needed to re-scan the same file again to see if anything had changed. I have no idea why, but suspect Zone Alarm somehow flagged the file as suspicious.

The fix was simple. I deleted the game patch, which I’d already installed anyway and no longer needed. The problem is now totally gone…applications open like lightning, and there’s no more disk thrashing. Why was the file flagged, and why is vsmon.exe so paranoid about it? Your guess is as good as mine.

XP Behaving Badly, Part II

Tuesday, May 12th, 2009

Yesterday I blogged about a performance problem on my XP box that was proving difficult to track down. The last stage in the game involved cleaning up Zone Alarm’s list of permitted applications. My hunch was that it might have grown too large as the result of repeated instances of adding and removing programs over the years.

Sadly I have no way to confirm this scientifically through repetition, but cleaning out the list of permitted apps seems to have made a massive difference in performance. I simply opened Zone Alarms’ list of applications and started deleting entries I knew were outdated or no longer installed on the system. I also knew that the firewall would ask again for permission if I happened to delete an entry that was still active, so I wasn’t too worried about making things worse.

It’s now been 24 hours, and the “30 second delay” problem has not reappeared. I can switch among active applications with no delay whatsoever. The system appears much quicker overall, even when starting new applications.

What’s the explanation? I suspect Zone Alarm allocates a certain amount of RAM as cache space for the permitted application list, and loads as many entries as possible into memory when it starts up. This makes sense, since it would improve performance by eliminating the need to read a new entry from disk every time an event occurred.

However, if there’s a limit to the amount of allocated memory, what may have happened is that Zone Alarm had to go back and reload the cache periodically. Depending on how the process is designed, such activity could cause a fairly significant delay when switching applications. I’m not sure this is the actual explanation, but the Zone Alarm vsmon.exe process was definitely consuming CPU (2-4% on average) during the delay period. Now it almost never shows up as anything but 0% on Task Manager.

Keep this incident in mind if you’re running the Zone Alarm suite and experience delays on your PC. A bit of housekeeping might correct the problem. You could also try shutting down the firewall temporarily to see if it changes anything. If it does, and if the performance problem shows up again when you restart the firewall, you’re probably on to something.

When troubleshooting a system (or, for that matter, a car or any other device), the ability to toggle a behavior at will is a good sign you’re close to the source of the problem. It’s the scientific method at its best.