Windows Performance and Stability


Contrary to naive expectations, the performance of Windows desktops and laptops can be adversely affected by the software that is installed on it, even when that software is not running. In the past, we have seen frequent examples of Windows systems becoming unstable (frequent crashes, memory corruption, slow program execution) when a large number of "major" software packages (such as Inventor, Labview, and Matlab) have been installed. The technical reasons for this behavior are described below.

Because such overloaded systems pose a significant IT support burden, we usually recommend that no more than two of these major software packages be installed on any single system. If additional software is needed, users should plan to allocate a separate dedicated machine for that purpose. We believe this additional up-front expense is counterbalanced by lower IT support costs later on, not to mention less down-time for the system (which would otherwise be performing three or more potentially critical functions instead of two). Often, the only remedy for an unstable computer is to reinstall the operating system, which can be a time consuming process and not a permanent solution.

How Installed Software Affects your Computer


The amount of software packages you have installed can affect how fast your computer runs. Each package installed puts data in a system wide part of Windows known as the registry. This is a database that holds all sorts of information about programs, from their license type, to their installed location, to the uninstall details, to what files they open. This affects overall performance of Windows. Every time you go to run a program or open a file, Windows has to search the registry for details about the program you want to run or what program opens the file you are double clicking. The issue is that it's a linear process, so the more software you have, the more searching Windows has to do. It has to do this every time.

It also has to access the registry for other information, from your preferences in Outlook to the size of the windows you have open. Many background processes need to search the registry for their settings also. So the registry is constantly being accessed.

Stability and Predictability

File Types

Each program accessing the computer can corrupt the registry or the disk if it has bugs, or is running when the PC loses power or crashes. Programs also like to register (see "Performance" above) that they open specific file types. In Windows, the file type is usually defined by a "dot three" file name suffix (this is like this for historical reasons, though now "dot four" is also allowed) - example myfile.txt - the filename is "myfile" the "dot three" is ".txt"... One issue is different programs can open .txt, and may start to "fight" over which is the appropriate one on each program update. So you can have double clicking on the same file open in a different program depending on which program "won" the last update battle.

Another issue is there are only so many "dot three or dot four" names, and some programs have the same "dot three" suffixes for entirely different file types. This can also cause double clicking to fail to open in the appropriate program. In some cases for some files, it can cause programs to stop working.

Repeated access into changing file types and the like can also raise the risk of an orphaned file type, where the "dot three" gets corrupted in the registry, and now no program can register it - so you can no longer double click on a file and have it open at all.

Conflicting dependencies

Many programs use underlying programs to allow them to run. Common programs are Java or .Net. Others integrate with other programs like Office or Inventor.

If you have 2 programs that use .Net, but one requires version 2 and another requires version 2.3 - you will have a problem with running both on the same computer.

Conflicting integration

We have regularly seen that integration with Microsoft Office can cause annoying pop-ups on every Word document, or it can cause Word to be slow or buggy. To prevent this behavior, we usually uninstall these plugins. Again, the more programs that are installed, more chances for interactions that you don't want.

Over time, we have found that certain major software packages are better designed to avoid interactions with other packages. These "good citizens" of the software world include Xilinx and Matlab. On the other hand, one package that is particularly bad at "playing well with others" is Labview.

However, the packages themselves are not the only factor. Whether or not any particular combination of packages proves to be problematic depends on specifically how these packages are configured or the user's Windows system is customized. Therefore, we have established a general rule of thumb: any two "major software packages" can happily coexist on our Windows systems, but installing more than two may cause issues down the road.

For these reasons, our standard practice is to discuss major software installations with users, so that we may gain a clear picture of the workflows involved and perhaps suggest alternatives that are supportable in the long term.

Consider running some software on dedicated computers

It is sometimes not appropriate to use a single Windows system for all of one's computing needs. We encourage you to think of each Windows system as falling into one of these classes:
  • Productivity PC - Microsoft Office, e-mail, web browsing
  • Hardware design - Inventor, Cadence
  • Hardware control - Labview, Matlab
  • Computational - Matlab, Mathematica
Implementing this factorization of functions can help ensure smooth operation of all your Windows systems.

-- JamesPulver - 24 Feb 2014
Topic revision: r7 - 04 Mar 2014, WernerSun
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding CLASSE Wiki? Send feedback