Video & On-Demand

CppCon 2016: High Performance Code 201: Hybrid Data Structures--Chandler Carruth

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

High Performance Code 201: Hybrid Data Structures

by Chandler Carruth

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Modern programs’ performance characteristics are often dictated by their data. Whether the cache locality of data access, the size of working set, or avoiding costly memory allocation overhead. Unfortunately, the standard C++ library data structures range from adequate to terrible at controlling these aspects, and they don’t provide any of the core mechanisms needed for extremely efficient data structure design.

This talk will present the core concepts of designing high performance data structures in C++. It is based on years of experience in the LLVM compiler as well as several other large code bases. From these principles, the talk will propose a suite of data structures that provide performance without loss of generality or functionality. As much as this talk will present specific data structure designs, its primary intent will be to give an understanding of what makes these structures have greater performance than more naive approaches.

CppCon 2016: Garbage In, Garbage Out: Arguing about Undefined Behavior...--Chandler Carruth

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Garbage In, Garbage Out: Arguing about Undefined Behavior...

by Chandler Carruth

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

There has been an overwhelming amount of tension in the programming world over the last year due to something that has become an expletive, a cursed and despised term, both obscene and profane: **undefined behavior**. All too often, this issue and the discussions surrounding it descend into unproductive territory without actually resolving anything.

In this talk, I'm going to try something very bold. I will try to utterly and completely do away with the use of the term "undefined behavior" in these discussions. And I will unquestionably fail. But in the process of failing, I will outline a framework for understanding the actual root issues that the software industry faces here, and try to give constructive and clear paths forward, both for programmers and the programming language.

And, with luck, I will avoid being joined on stage by any unruly nasal demons.

CppCast Episode 103: Travis CI with Richel Bilderbeek

Episode 103 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Richel Bilderbeek to talk about the benefits of using Travis CI for C++ developers and the role of C++ in theoretical biology.

CppCast Episode 103: Travis CI with Richel Bilderbeek

by Rob Irving and Jason Turner

About the interviewee:

Richel Bilderbeek is a C++ developer for 17 years. He is mostly interested in what the literature has to say about good C++ practices, then teaching children and to adults, additionally writing articles, blog posts and tutorials. In his professional life, he is a PhD in theoretical biology.

CppCon 2016: Game engine using STD C++ 11--Jason Jurecka

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Game engine using STD C++ 11

by Jason Jurecka

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

This session is going to give an account of the process and features used to create a game engine focusing on using std C++11 features and concurrency. We will go through the architecture of the engine design and the specifics of the C++11 features being used. We will also go through optimization choices and design mentalities that are being used to keep the code base simple, but powerful in game usage. The engine architecture we will be going through will be using parallelism as a way to distribute work and get performance out of the available hardware that can scale into the future.

While completing a full engine with cutting edge graphics techniques and a game to push the engine to its limits will take a while this session will go over the current state of the project and lessons learned. The ultimate goal of the project is to show the validity of using C++11 (and beyond) features in game engines to simplify code and improve stability while maintaining the performance and memory usage games demand.

CppCon 2016: Channels - An alternative to callbacks and futures--John Bandela

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Channels - An alternative to callbacks and futures

by John Bandela

(watch on YouTube)

Summary of the talk:

Currently in the C++ Networking TS and Concurrency TS, callbacks and futures are the means for communicating an asynchronous value. However, there are disadvantages with both. Callbacks are low overhead, but hard to compose. Futures are easy to compose, but have increased overhead. In this talk we will consider channels as a third alternatives that can have lower overhead than futures while still being easy to compose

CppCon 2016: Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17--Jason Turner

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17

by Jason Turner

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

The Commodore 64 was released in 1982 and is the best selling computer model of all time. At 34 years old, even the most simple embedded processor today outperforms it. Join me on an exploration of how C++17 techniques can be utilized to write expressive, high performance, high level code for simple computers. Together we will create a game for this aging system.

You'll leave the talk with a better understanding of what your compiler is capable of and be able to apply these ideas to create better code on modern systems.

CppCast Episode 102: Boost Outcome with Niall Douglas

Episode 102 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Niall Douglas to talk about Google Summer of Code, Boost and his proposed Outcome library.

CppCast Episode 102: Boost Outcome with Niall Douglas

by Rob Irving and Jason Turner

About the interviewee:

Niall Douglas is a consultant for hire, is one of the authors of the proposed Boost.AFIO v2 and Boost Outcome, he is also currently the primary Google Summer of Code administrator for Boost.