M1AM
High-Performance C++ Programming
Scott Meyers, Consultant and Author
Who should attend: Systems designers, programmers, and technical managers involved in the design, implementation, and maintenance of production libraries and applications using C++. You should be familiar with the basic features of C++ (e.g., classes, inheritance, virtual functions, templates), but expertise is not required.
What you will learn: What is really important to deliver high performance in C++ and the techniques you need to achieve it.
This course will examine the factors that affect the performance of C++. The reasons for bottlenecks in C++ programs can be surprising. Contrary to popular belief, virtual functions usually exact a negligible performance cost, while unexpected calls to constructors and destructors frequently hamstring applications. Much of the material in this course is taken from Scott's books, Effective C++ and More Effective C++.
Topics include:
- General approaches to efficiency
- Choosing suitable algorithms and data structures
- The 80-20 rule and program profiling
- Lazy evaluation and reference counting
- Prefetching and caching
- Strategies specific to C++
- Eliminating unnecessary temporary objects
- Mastering inlining
- Using handle classes to minimize compilation dependencies
- Writing custom memory managers
- Implementing reference-counting
- Recommended reading
Scott Meyers is the author of Effective C++ and More Effective C++. He is a former columnist for the C++ Report, and a frequent writer, speaker, and consultant on C++ software development. He received his PhD in Computer Science from Brown University and his research on software development has been reported in technical journals and at conferences around the world.
Back to Tutorial Overview
|