YoVDO

Self-Awareness in C++ Code

Offered By: NDC Conferences via YouTube

Tags

NDC Conferences Courses C Programming Courses Data Structures Courses Memory Allocation Courses Memory Leaks Courses Memory Profiling Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a comprehensive talk on developing a memory profiler for C++ code optimization and debugging. Dive into strategies for intercepting malloc, capturing tracebacks, and building callstack histograms. Learn about data structures, gotchas, and fixes in profiler development, including recursive malloc handling and thread-local storage. Examine real-world examples of memory allocation, deallocation, and leak detection. Discover how to perform hierarchical and graphical analysis of memory usage, and understand the importance of allocation context in mixed-mode systems. Gain insights from a case study of the Bloomberg Professional Service, demonstrating practical applications of memory profiling techniques in high-performance software development.

Syllabus

Intro
Tech At Bloomberg
The Bloomberg Terminal
We care about performance
Memory Leaks? In 2018??
Memory Usage: A Case Study
Usual Strategies
Building a memory profiler
Where is malloc?
Strategy #1: Intercepting malloc using the allocator shim
Strategy #2: Intercepting malloc using Import Address Table redirection
Capturing the traceback: helper func
Step 3: Build a callstack / size histogram
Data structures
Gotcha #1: recursive malloc
Gotcha #1 fix: recursion protection
RAll recursion protection
Gotcha #2 fix: Thread-local storage
Instrumentation walkthrough: 2
Instrumentation walkthrough: example
Tree representation
Building the tree
Hierarchical analysis
Graphical analysis
Example 1: Alloc/Dealloc
Example 2: Simple leak
Remember our Case Study
Case Study: normal run (no errors)
Case Study: with some errors
Case Study: The logging?
Combining callstacks and instance data
Allocation context
Mixed-mode systems


Taught by

NDC Conferences

Related Courses

Android Performance
Google via Udacity
Многопоточность
Moscow Institute of Physics and Technology via Coursera
Java Memory Management
LinkedIn Learning
Linux Performance Tuning
LinkedIn Learning
Java Memory Management: Garbage Collection, JVM Tuning, and Spotting Memory Leaks
LinkedIn Learning