Performance Metrics & Benchmarks
How do we know if a computer is "fast"? Performance in computer architecture isn't just about clock speed - it's about how efficiently a computer completes useful work. Let's explore the key metrics we use to measure performance.
The Performance Equation
Computer performance can be expressed with a simple equation:
Performance Equation
+---------------------------------------------+
| |
| Execution Time = Instruction Count ร |
| CPI ร Clock Period |
| |
| Where: |
| - Instruction Count: Total instructions |
| needed to run a program |
| - CPI: Cycles Per Instruction (average) |
| - Clock Period: Time for one clock cycle |
| (1 / Clock Frequency) |
| |
+---------------------------------------------+
Notice that clock speed (frequency) is only ONE factor. A processor with a lower clock speed but fewer instructions per program can actually be faster!
Key Performance Metrics
- Execution Time: The time to run a program - what we ultimately care about
- Throughput: Amount of work completed per unit time
- MIPS: Millions of Instructions Per Second
- MFLOPS: Million Floating-Point Operations Per Second
- Power Efficiency: Performance per watt of power consumed
Amdahl's Law
When evaluating improvements, Amdahl's Law helps us understand the potential speedup:
Amdahl's Law
+---------------------------------------------+
| |
| 1 |
| Speedup = ------------------------- |
| (1 - f) + (f / s) |
| |
| Where: |
| - f: fraction of execution time that |
| can be improved |
| - s: speedup of the improved portion |
| |
| Example: If 80% of time can be doubled |
| Speedup = 1 / (0.2 + 0.8/2) = 1.67x |
| |
+---------------------------------------------+
Benchmarks: Real-World Testing
To compare real systems, we use standardized benchmark programs that represent real workloads:
- SPEC CPU: Standard Performance Evaluation Corporation benchmarks
- Geekbench: Popular for consumer devices
- LINPACK: Used for supercomputer rankings (TOP500)
- SYSmark: Measures office productivity workloads
Remember: No single benchmark tells the whole story. Always consider multiple workloads and metrics!