Debugging and Profiling C++ Template Metaprograms
Offered By: CppNow via YouTube
Course Description
Overview
Explore advanced techniques for debugging and profiling C++ template metaprograms in this comprehensive conference talk. Delve into the world of C++ Template Metaprogramming, understanding its applications in expression templates, static interface checking, code optimization, domain-specific language embedding, and active libraries. Learn about the challenges faced in designing, maintaining, and analyzing template metaprograms, including increased compilation times. Discover a prototype toolset developed to support developers working with large C++ codebases that heavily utilize templates. Gain insights into the toolset's functionality, built on the llvm/clang compiler infrastructure, which captures critical template-related compiler actions and generates XML trace files. Examine the Qt-based frontend that visualizes results, offering features like source code view, breakpoints, step-by-step replay, and instantiation graph animation. Compare run-time and compile-time approaches, explore the advantages and issues of instrumentation, and understand the importance of compiler support in template metaprogramming.
Syllabus
Intro
Agenda
C++ Template Metaprograms
When to use metaprograms?
Run-time vs Compile time
Tool support
Why we need tools?
C++ Template Metaprogramming
Run-time vs. Compile time
Templight 1.0
Advantages of instrumentation
Issues with instrumentation
Compiler support
Templight 2.0
Installation
Running
Templar
Breakpoint
Filter
Profiler
Memory
Distorsion
Vision
Summary
Taught by
CppNow
Related Courses
Your Favorite Undefined Behavior in C++CppNow via YouTube Under the Hood - Assembly, System Calls, and Hardware in C++
CppNow via YouTube Carbon Language Successor Strategy - From C++ Interop to Memory Safety
CppNow via YouTube Value Oriented Programming Part 1 - You Say You Want to Write a Function
CppNow via YouTube Introducing a Memory-Safe Successor Language in Large C++ Code Bases
CppNow via YouTube