Compiler optimization

related topics
{math, number, function}
{system, computer, user}
{rate, high, increase}
{build, building, house}

Compiler optimization is the process of tuning the output of a compiler to minimize or maximize some attributes of an executable computer program. The most common requirement is to minimize the time taken to execute a program; a less common one is to minimize the amount of memory occupied. The growth of portable computers has created a market for minimizing the power consumed by a program. Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce an output program that uses less resources.

It has been shown that some code optimization problems are NP-complete, or even undecidable. In practice, factors such as the programmer's willingness to wait for the compiler to complete its task place upper limits on the optimizations that a compiler implementor might provide. (Optimization is generally a very CPU- and memory-intensive process.) In the past, computer memory limitations were also a major factor in limiting which optimizations could be performed. Because of all these factors, optimization rarely produces "optimal" output in any sense, and in fact an "optimization" may impede performance in some cases; rather, they are heuristic methods for improving resource usage in typical programs.


Full article ▸

related documents
P-code machine
Event-driven programming
Unified Modeling Language
Maple (software)
Key (cryptography)
Abstract Syntax Notation One
Spaghetti code
Queueing theory
Object-relational database
Pike (programming language)
Universal Turing machine
XOR swap algorithm
Ada (programming language)
ANSI escape code
Transfer function
SECD machine
Wikipedia:Free On-line Dictionary of Computing/E - H
Symmetric-key algorithm
Robots exclusion standard
Basic Encoding Rules
Enterprise Objects Framework
Binary space partitioning