Optimizing Software in C++ by Agner Fog - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

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.