C++ Quest 1: So You Want Better Performance?

C++ Quest 1: So You Want Better Performance? is a two-day training course with programming exercises taught by Jason Turner. It is offered at the Gaylord Rockies from 9AM to 5PM on Saturday and Sunday, September 12th and 13th (immediately prior to the conference). Lunch is included.

Course Description

The main reason people use C++ is for performance. And much time and effort is spent towards this goal.

Unfortunately a considerable amount of performance is lost in simply getting the fundamentals wrong.

Join me on this quest to explore common performance pitfalls, find alternatives, and take a return to the fundamentals look at how to write code that performs well by default. We will consider the lessons learned in Jason’s Commodore 64 C++ experiments, ChaiScript and his ARM emulator.

This class will be highly interactive. Come with questions regarding current performance issues you are hitting. Expect to talk to your fellow students.

This class will give you a new perspective to consider while attending the rest of CppCon.

Prerequisites

It is assumed the attendee actively programs in C++ today and desires to write more maintainable code that performs better.

Course Topics

Topics covered include:

    • Avoiding unnecessary copies
    • Doing more at compile-time
    • Being cache friendly
    • Constructing objects efficiently
    • Reducing heap allocations
    • Being aware of hidden allocations
    • Considering undefined behavior
    • Understanding compiler optimizations
    • Thinking about triviality

Register Here

Course Instructor

Jason_Turner

Jason Turner is a regular speaker at C++ conferences, the creator of the “Learning C++ Best Practices” video series from O’Reilly and the http://cppbestpractices.com online C++ coding standards document. As a contractor, speaker and trainer he has specialized in helping others produce high quality C++ code. Jason is also the co-host of the C++ podcast, CppCast, and the host of the YouTube video series, C++ Weekly.