
59
3
Standard Performance-Tuning Techniques
Optimization techniques can very broadly be categorized into the following groups:
110
• Optimization of iterative loops
• Caching and other uses of trading memory for performance
• Parallelization — running code in parallel on multiple cores/GPUs/computers
• Using compiled (binary) rather than interpreted code
• Reusing system resources and programmatic constructs
• Employing knowledge about the data’s memory arrangement for optimized access
using in-place manipulation, locality of reference, and preallocation
• Reducing code complexity
• Trading accuracy, code size, and latency for run-time throughpu ...