C++ Performance Tuning – Detailed Course Outline

Return to C++ and C Courses page
Copyright © 1997 - 2021, Anderson Software Group, Inc.

Section 1 - Class Design

  • Class Design Boilerplate
    • Copy Semantics
    • Modifiers and Selectors
    • clone() functions
    • Using mutable and explicit

Section 2 - Object Storage Management

  • Memory Pools
    • Design and Implementation
    • Overloading new and delete
  • Reference Counts
    • Design and Implementation
    • Copy on Write Techniques

Section 3 - RTTI (Run Time Type Identification)

  • RTTI Operators
    • dynamic_cast()
    • typeid()
    • Copy on Write Techniques

Section 4 - Performance Techniques

  • Efficiency Techniques
    • Member Initialization
    • Objects as Return Values
    • Eliminating Temporaries
    • Delayed Evaluations
    • Block Moves of Memory
    • Managing Memory
    • Template Specialization
    • Minimizing Virtual Tables
    • Singletons
    • Lvalue and Rvalue Separation
  • Implementing State Diagrams
    • Nested Switch
    • State Pattern
    • State Tables

Appendix

  • Boost Library
  • Operator new and delete formats
  • Standard Exception Classes

Bibliography