Finding performance improvements

Brian Kernighan, Rob Pike

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

Long ago, programmers went to great effort to make their programs efficient because computers were slow and expensive. Today, machines much cheaper and faster, so the need for absolute efficiency is greatly reduced. Is it still worth worrying about performance? Yes, but only if the problem is important, the program is genuinely too slow, and there is some expectation that it can be made faster while maintaining correctness, robustness, and clarity. A fast program that gets the wrong answer doesn't save any time. Thus the first principle of optimization is don't. Is the program good enough already? Knowing how a program will be used and the environment it runs in, is there any benefit to making it faster? Programs written for assignments in a college class are never used again; speed rarely matters. Nor will speed matter for most personal programs, occasional tools, test frameworks, experiments, and prototypes. The run-time of a commercial product or a central component such as a graphics library can be critically important, however, so we need to understand how to think about performance issues.

Original languageEnglish (US)
Pages (from-to)61-65
Number of pages5
JournalIEEE Software
Volume16
Issue number2
DOIs
StatePublished - Mar 1999
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Finding performance improvements'. Together they form a unique fingerprint.

Cite this