Summary

The definition of performance is subject to the perception of the person giving the definition. Users will have a different view of a program than developers, and project managers in turn might have yet another view. Even views of individual users vary due to differences of experiences and expectations. One reason that performance issues (and even bugs, unintuitive interfaces, and so on) come into existence at all is because of these different views.

The ideal program, as seen by the user, has the following characteristics:

  • It needs little user interaction.

  • It has an intuitive user interface.

  • It has a short learning curve.

  • It is highly flexible.

  • It contains, and is accompanied by, extensive but easily readable user documentation.

  • It has no waiting times during user interaction; any slow actions be performed off line and so on.

  • It has readily available information for users at any given time.

The ideal program, as seen by the developer, contains the following attributes:

  • It is geared toward future developments—added functionality, handling larger bases of data.

  • It is easily maintainable.

  • It has a good and intuitive design.

  • It is accompanied by well-written technical documentation.

  • It can be passed on to any developer.

Unsurprisingly, we have yet to encounter such a program, or indeed one that comes even close to satisfying most of the requirements stated earlier in this chapter. Some of the requirements seem to even openly defy each other. That is why concessions need to be made, based on the actual use of the program.

One can wonder why to optimize algorithms and functions when hardware seems to become faster and faster all the time. This chapter has reviewed several considerations about the benefits of optimization as opposed to hardware upgrades. Although hardware predictably improves every 18 months, generally the effect is a mere workaround for doubling speed at best. This does not effectively counter the increased requirements and demands of software. To actually solve these issues requires serious investigation. The following chapter explains how system design plays a further part for creating an effective environment.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset