Preface; 1. Introduction; 2. Notions of computer architecture; 3. A few basic efficiency guidelines; 4. Timing and profiling of a program; 5. Optimization of floating point operations; 6. Optimization of memory access; 7. Miscellaneous optimizations; 8. Optimization of parallel programs; 9. Case studies; 10. Benchmarks; Appendix; Bibliography; Index.