1. 시간 단축을 위한 공간 규칙
- Data Structure Augmentation
- Store Precomputed Results
- Caching
- Lazy Evaluation
2. 공간 절약을 위한 시간 규칙
- Packing
- Interpreters
3. 루프 규칙
- Code Motion Out of Loops
- Combining Tests
- Loop Unrolling
- Transfer-Driven Loop Unrolling
- Unconditional Branch Removal
- Loop Fusion
4. 논리 규칙
- Exploit Algebraic Identities
- Short-Circuiting Monotone Funtions
- Precompute Logical Funtions
- Boolean Variable Elimination
5. 프로시저 규칙
- Collapsing Function Hierarchies
- Exploit Common Cases
-Coroutine
- Transformations on Recursive Functions
- Recursive -> Iterative
- Stack
- Removing Tail Recursion
- Assistant Procedure
- Parallelism
6. 수식 규칙
- Compile-Time Initialization
- Exploit Algebraic Identities
- Common subexpression Elimination
- Pairing Computation
- Exploit Word Parallelism
※ reference
Programming Pearls 2/e