Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Debugging and Profiling C++ Template Metaprograms

CppNow via YouTube

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

Reviews

Start your review of Debugging and Profiling C++ Template Metaprograms

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.