Concepts inThe benefits and costs of DyC's run-time optimizations
Compiler optimization
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.
more from Wikipedia
Run time (program lifecycle phase)
In computer science, run time, run-time, runtime, or execution time is the time during which a program is running, in contrast to other phases of a program's lifecycle such as compile time, link time, load time, etc. A run-time error is detected after or during the execution of a program, whereas a compile-time error is detected by the compiler before the program is ever executed.
more from Wikipedia
Copy propagation
In compiler theory, copy propagation is the process of replacing the occurrences of targets of direct assignments with their values. A direct assignment is an instruction of the form, which simply assigns the value of to . From the following code: y = x z = 3 + y Copy propagation would yield: z = 3 + x Copy propagation often makes use of reaching definitions, use-def chains and def-use chains when computing which occurrences of the target may be safely replaced.
more from Wikipedia
Dynamic compilation
Dynamic compilation is a process used by some programming language implementations to gain performance during program execution. Although the technique originated in the Self programming language, the best-known language that uses this technique is Java.
more from Wikipedia
Strength reduction
In software engineering, strength reduction is a compiler optimization where expensive operations are replaced with equivalent but less expensive operations. The classic example of strength reduction converts "strong" multiplications inside a loop into "weaker" additions ¿ something that frequently occurs in array addressing. Examples of strength reduction include: replacing a multiplication within a loop with an addition replacing an exponentiation within a loop with a multiplication
more from Wikipedia
Loop unwinding
Loop unwinding, also known as loop unrolling, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size. The transformation can be undertaken manually by the programmer or by an optimizing compiler.
more from Wikipedia
In computer science, compile time refers to either the operations performed by a compiler (the "compile-time operations"), programming language requirements that must be met by source code for it to be successfully compiled (the "compile-time requirements"), or properties of the program that can be reasoned about at compile time. The operations performed at compile time usually include syntax analysis, various kinds of semantic analysis and code generation.
more from Wikipedia