Maestro Technologies - Intelligent management software for the construction industry.

Maestro*Liaison  October 2009

Return to News Center
In this bulletin:

Understanding the performance of your PC

If you are like me, you probably have the impression that as time goes on, computers get more powerful, but you wait longer for them to react to your commands. There is something quite paradoxical in that your super Pentium Quad-Core with 8 GB of RAM takes 10 minutes to start up, whereas your old 80386 with Windows 3.1 started up almost instantaneously. Several factors have a direct impact on performance and knowing them can help you understand better.

Paradox
How can we explain that with increasingly powerful machines, we have the impression that computers are always slower? Even though Moore’s Law (refer to the article The evolution of processors) correctly predicted the evolution in system performance, there is a point about which it did not comment, which was that performance would always be expected and used by programmers. Their ability to constantly imagine ever more complex solutions always required greater processing capacity, and this would progress even faster than the performance of the equipment.

In their defence, it must be said that this is usually translated by an exponential increase in the quality of software and their visual interfaces. Even though almost nobody uses it to its full capacity, nobody would want to abandon Excel now and return to the era of electronic spreadsheets for DOS (1).

Complexity
Let’s return to our example from the beginning, where we were comparing the startup speed of an 80386 with Windows 3.1 and that of a QuadCore with Vista. Such comparison is obviously very unfair, because the possibilities provided by modern operating systems have nothing in common with what was available 20 years ago. Major improvements have been made to the user interfaces, but also in the integration of various software programs and in automatic update functions. Many programs now run permanently on each computer, just to ensure they function correctly. For example, while I am writing this text, 86 separate processes are running on my system. Some manage the display of my two screens, others make sure that no viruses are trying to infect my system, one plays music and a number of others regularly check whether any updates should be installed. All this is in addition to the main applications I started myself (word processing, e-mail, spreadsheets, etc.).

Each of these programs is obviously designed to run in the most efficient manner possible, but at the end of the day, if the designer had to choose between better performance and an attractive function, he would very likely choose the latter, as marketing would require.

No software can avoid this race towards complexity. Long-term maestro* users know they cannot compare the most recent version with the one they were using 10 years ago. The trend is towards developing increasingly complex and integrated applications, that process constantly higher volumes of data, to meet increasingly stringent requirements. For example, in maestro*, project inquiry consisted of four tabs originally, but there are now 22. And despite all this, we are constantly told that something is missing!

Volume
The other important factor that influences a program’s performance is the number of transactions it must process. When a program has to browse a database that contains several million transactions before it can display the expected result, it would be unreasonable to imagine that it can do this instantaneously. When designing software, this is one of the points that is not always obvious from the outset, but that we realize with time. Users often invent new uses for existing functions which results in an explosion in the amount of data generated. Fortunately, it is usually possible to resolve these situations by restructuring the database, adding indexes or deleting obsolete data. But we must be informed of these situations, because they are often only observed by certain users.

Diagnosis
When you notice loss of performance on a specific system, one easy place to check is the Windows Task Manager. To access it, press and hold the Ctrl, Alt and Del keys. This tool can provide some interesting information, such as the list of processes that are currently running on your system, and a graph that displays how your processor and memory are being used.

Pay attention to the values in red squares. If nothing is running on your workstation and this indicator shows an elevated value, some programs are probably running permanently and are consuming resources to the detriment of other applications (you can see the list in the Processes tab).

Check also how much memory is being used in relation to the total memory available. If the two figures are too close, the system probably has to transfer data to the disk. This is a very long process and will have a huge effect on performance.

Future
The race for complexity is not about to stop. Both on the hardware and software side, each are inventing new methods to resolve the obstacles encountered. To overcome the physical limitations of equipment, we are already talking about burning at 18 nm (2), tri-dimensional smartcards and transmitting information by photons rather than by electrons. All of this will inevitably require a significant increase in data processing performance. However, you can bet that the pressures on software developers will result in them always requiring higher performance than what the machines can provide.

Michel Fisette

References:

(1) http://www.boingboing.net/2003/04/08/the-secret-history-o.html
(2) http://www.tgdaily.com/content/view/42874/135/

Subscribe to our news Archives

Recent events

  • Hiring of a new sales representative in Calgary
    June 25, 2009
  • ACRGTQ golf tournament
    August 19, 2009
  • Official launch of the new Maestro Web site
    August 31, 2009

New customers