Performance Analysis for Computer Scientists
Every application must have an inherent amount of irreducible complexity.
The only question is who will have to deal with it.
-- Tesler's Law
- Challenging software best practices that lag behind
hardware best practices
- Removing the inefficiency of low-level functionality needlessly replicated
at higher levels
- Identifying fundamental design flaws that are completely hidden by
superficial design flaws
- Predicting theoretical maximum performance from first principles
- Rejecting and disproving specious explanations of how computers work
- Demanding and producing good documentation
A 1% serial program (99% parallel) can never be sped up by more than 100×,
no matter how many processors are used.
This interactive graphical worksheet illustrates how
Amdahl's Law, Little's Law, and hardware limitations
interact to create a theoretical upper limits on the
potential performance gain from tuning and/or parallelizing
COMING SOON: Cache and Memory Bandwidth of 16 Core Systems