First page Back Continue Last page Graphics
Trim the fat in order
(but ask the profiler first)
Excess work
Excess I/O
Bad algorithms
Bad memory access patterns
Micro-optimizations (function call overhead, mis-predicted branches, CPU-level foo)
Most of GNOME is probably around (1) and (2).
If you get to (4, 5), you are probably doing very well.