C++ Exceptions and Stack Unwinding

Play C++ Exceptions and Stack Unwinding
Sign in to queue

Description

Exceptions are often described as 'slow', and the standard advice is to use them only in exceptional circumstances. In this talk, we'll find out how slow exceptions really are by exploring the Itanium exception handling model. We'll dive into several implementations (libunwind, gcc, llvm-libunwind), and learn about everything that happens between throw() and catch(). We will discover the answers to questions such as why throwing an exception takes a global lock (and how to avoid it), how caching can speed up the performance of exceptions, and how to get better stack traces.

Day:

5

Session Type:

Presentation

Code:

120

Embed

Download

Download this episode

Download captions

The Discussion

Add Your 2 Cents