Optimizing C++

 
Optimizing C++
A book about improving program performance

Preface

Audience

This book is for intermediate C++ programmers (i.e. studying C++ for at least one year) who want to improve the performance of the software they develop.

Subject

This book contains guidelines and advices on how to write efficient software using the C++ language. Software correctness and maintainability are taken into account, but are not the primary concerns of the guidelines.

Most of the guidelines presented are not platform specific, and so are applicable to every processor, to every compiler, and to every operating system; the few platform specific advices try to cover most platforms.

Table of Contents

  1. Introduction
  2. Optimization life cycle
  3. Writing efficient code
    1. Performance improving features
    2. Performance worsening features
    3. Constructions and destructions
    4. Allocations and deallocations
    5. Memory access
    6. Thread usage
  4. General optimization techniques
    1. Input/Output
    2. Memoization
    3. Sorting
    4. Other techniques
  5. Code optimization
    1. Allocations and deallocations
    2. Run-time support
    3. Instruction count
    4. Constructions and destructions
    5. Pipeline
    6. Memory access
    7. Faster operations

Guidelines for editors

Further Reading

  • Calling conventions for different C++ compilers and operating systems
  • Optimizing software in C++: An optimization guide for Windows, Linux and Mac platforms
  • "Technical Report on C++ Performance" by Dave Abrahams et. al. 2003
  • "Code optimization tips for 8-bit microcontrollers" by Steve Kolokowsky 2009
  • "Getting the Least Out of Your C Compiler" by Jakob Engblom 2001 lists "some of the more common mistakes and how to avoid them, ... An important conclusion is that code that is easy for a human to understand is usually also compiler friendly, contrary to hacker tradition."
Retrieved from " http://en.wikibooks.org/wiki/Optimizing_C%2B%2B"
http://en.wikibooks.org/wiki/Optimizing_C%2B%2B

你可能感兴趣的:(Optimizing C++)