MIT Sloan AI Adoption: Build a Playbook That Drives Real Business ROI
Live Online Classes in Design, Coding & AI — Small Classes, Free Retakes
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
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