Topic: code optimization
Topic: efficiency
Topic: function cost
Topic: programming as mathematics
Topic: transformation of programs
| |
Summary
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
Quote: the easiest path wanders [»shasD_2004]
| Subtopic: optimization vs. functionality, understandability
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
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
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
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
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
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
Quote: mathematics is what programming becomes when freed of all considerations of efficiency [»schwJT_1972]
| Subtopic: password efficiency
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
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
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)
|