19 Literature
Other manuals by Agner Fog
The present manual is number one in a series of five manuals. See page 3 for a list of titles.
Literature on code optimization
Intel: "Intel 64 and IA-32 Architectures Optimization Reference Manual". developer.intel.com. Many advices on optimization of C++ and assembly code for Intel CPUs. New versions are produced regularly.
AMD: "Software Optimization Guide for AMD Family 15h Processors". www.amd.com. Advices on optimization of C++ and assembly code for AMD CPUs. New versions are produced regularly.
Intel: "Intel® C++ Compiler Documentation". Included with Intel C++ compiler, which is available from www.intel.com. Manual on using the optimization features of Intel C++ compilers.
Wikipedia article on compiler optimization. en.wikipedia.org/wiki/Compiler_optimization. ISO/IEC TR 18015, "Technical Report on C++ Performance". www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf.
OpenMP. www.openmp.org. Documentation of the OpenMP directives for parallel processing.
Scott Meyers: "Effective C++". Addison-Wesley. Third Edition, 2005; and "More Effective C++". Addison-Wesley, 1996. These two books contain many tips on advanced C++ programming, how to avoid hard-to-find errors, and some tips on improving performance.
Stefan Goedecker and Adolfy Hoisie: "Performance Optimization of Numerically Intensive Codes", SIAM 2001.
Advanced book on optimization of C++ and Fortran code. The main focus is on mathematical applications with large data sets. Covers PC's, workstations and scientific vector processors.
Henry S. Warren, Jr.: "Hacker's Delight". Addison-Wesley, 2003. Contains many bit manipulation tricks
Michael Abrash: "Zen of code optimization", Coriolis group books 1994. Mostly obsolete.
Rick Booth: "Inner Loops: A sourcebook for fast 32-bit software development", Addison- Wesley 1997. Mostly obsolete.
Microprocessor documentation
Intel: "IA-32 Intel Architecture Software Developer’s Manual", Volume 1, 2A, 2B, and 3A and 3B. developer.intel.com.
AMD: "AMD64 Architecture Programmer’s Manual", Volume 1 - 5. www.amd.com.
Internet forums
Several internet forums and newsgroups contain useful discussions about code optimization. See www.agner.org/optimize and the FAQ for the newsgroup comp.lang.asm.x86 for some links.