1. Introduction 2. Scope and Audience 3. Why Improve performance 4. Caveats 5. Compiler Optimisation flags 5a. -O0 5b. -O1 5c. -O2 5d. -O3 5e. -Os 6. How to measure performance ? What is profiling ? 6a. gettimeofday 6b. Profiling tools 6C. Code Instrumentation 7. Type of processes 7a. CPU Bound Processes 7b. I/O Bound Processes 8. Basic System wide tools for measuring performance 8a. ps,top 8b. sar, vmstat, iostat, meminfo 8c. /proc files 9. Profiling based on Time 9a. Time graphs 9b. Call graphs 10. Profiling based on CPU Statitics. 10a. Perfsuite 11. Disk I/o Bottlenecks 12. Network I/O Bottlenecks 13. Making use of cache Hierarchies. 14 Strategies for improving code. 15. Code Samples (real life optimisations)