Topic: no need for efficiency

topics > computer science > programming > Group: goals for a programming system

code optimization
function cost
programming as mathematics
transformation of programs


Many researchers feel that efficiency is a counter productive goal in language design. They argue that efficiency considerations produce complicated programs which are difficult to create, test, understand and maintain. Ideally programming should use a mathematical language where efficiency can be ignored or at least delayed until the program is written. Then efficiency can be provided by compiler optimization, program transformations, or rewriting heavily executed code in another language. But efficiency measures your integration with the physical world. It, like flexibility, must be designed into a program. A globally inefficient program can not be made efficient by local means. This is especially true of spatial efficiency. (cbb 5/80)
Subtopic: efficiency vs. effort up

Quote: the easiest path wanders [»shasD_2004]

Subtopic: optimization vs. functionality, understandability up

Quote: relaxed, extensible text formats and protocols work better than efficient binary ones; easily shared and understood [»boswA10_2005]
Quote: optimization goals tend to conflict badly with other goals such as understandability and correctness [»weinGM1_1974]
Quote: functionality of a system should be addressed before its efficiency [»balzRM3_1978]
Quote: optimization makes a system less reliable, harder to maintain, more expensive to build, and harder to optimize [»jackMA_1975]
Quote: to prevent logical errors during optimization, one must understand the program fully
Quote: only an unoptimized design can have a clearly understood and simple structure [»jackMA_1975]
Quote: Dylan aimed for interactive development like Lisp or Smalltalk, while generating small, fast programs like static development environments; combine flexibility with efficiency [»dumaJ6_1995]

Subtopic: optimize after implementation up

Quote: if you must optimize, do it after writing a perfectly clear and unoptimized solution [»jackMA_1975]
Quote: a rubble program, i.e., initial attempt by a programmer, can be vastly inefficient
Quote: dual code--one version (e.g., APL) for testing and documentation and another for production (e.g., FORTRAN) [»gilbT_1977, OK]

Subtopic: optimization vs. general-purpose up

Quote: a general-purpose system can not optimize the use of resources; too easy to overload the system and degrade service by thrashing [»lampBW10_1983]

Subtopic: efficiency of creation vs. run-time efficiency up

Quote: for small-scale programs, the efficiency of creation is more important than the efficiency of execution [»cheaTE_1976]
Quote: Merlin is for the convenient development and clear expression of algorithms, not efficiency [»hehnEC7_1975]
Quote: should consider writeability and the efficiency of implementing a program [»richF12_1977]
Quote: in 30 years, the size of software increased less than 100x while computing power increased 1,000,000x [»holzGJ11_2002]

Subtopic: Prolog programming vs. efficiency up

Quote: Prolog programmers need awareness of interpreter if they are worried about efficiency or termination
Quote: Prolog programmers need traces, cut, and extralogical features such as assert and retract; is not pure, declarative programming [»tichWF11_1987]
Quote: implementation stage ensures that a specification has an efficient implementation [»warrDH2_1980]

Subtopic: efficient inner loop up

Quote: it is hard for code to take a lot of time if it isn't executed a lot; typically in a loop [»bentJL_1982]
QuoteRef: clarBL9_1973 ;;54 Knuth 71 and Alexander 72: typical programs spend .gt. 50% times executing it 4% of code
QuoteRef: knutDE1_1971 ;;13 less than 4% of program uses more than 50% of time

Subtopic: mathematics vs. efficiency up

Quote: mathematics is what programming becomes when freed of all considerations of efficiency [»schwJT_1972]

Subtopic: password efficiency up

Quote: password algorithm should not be faster outside of normal use; fast CPU instructions, no bit transposition, no pipelining, no precomputation [»provN6_1999]
Quote: performance of crypt password authentication increased from 4 per second in 1976 to 200,000 per second in 1999

Subtopic: efficiency as tie to reality, security up

Quote: a secure program accesses resources as defined by an audited, security policy; including execution time [»hartPH12_2001]
QuoteRef: cbb_1973 ;;10/2/73 not a compiler that makes good code from bad sources, but one that makes it difficult to write a bad source
QuoteRef: cbb_1973 ;;2/17/78 Many would say that efficient code is not important. I say that efficient code is your only tie to reality.

Related Topics up

Topic: code optimization (54 items)
Topic: efficiency (96 items)
Topic: function cost (8 items)
Topic: programming as mathematics (27 items)
Topic: transformation of programs
(27 items)

Updated barberCB 9/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.