CppCon 2020 Keynote: Performance Matters by Emery Berger

Keynote Speaker: Emery Berger

Emery BergerEmery Berger is a Professor in the College of Information and Computer Sciences at the University of Massachusetts Amherst, where he co-directs the PLASMA @ UMass lab.  To fully appreciate the work that Emery has done and the academic honors that he’s received, you really need to read his bio.

Emery takes performance seriously and that’s what this talk is about. He’ll discus a new approach to profiling called causal profiling. This approach has led to the development of a tool called Coz, which ships as part of standard Linux distros and supports C++, Rust, and Java. “Guided by Coz, we improved the performance of Memcached (9%), SQLite (25%), and accelerated six other applications by as much as 68%; in most cases, this involved modifying less than 10 lines of code and took under half an hour (without any prior understanding of the programs!).”

From his talk’s description:

In this talk, I’ll first discuss some of the significant and surprising challenges facing C++ programmers trying to achieve high performance on modern hardware platforms: performance is far less stable and predictable than you might think! I’ll present some experimental evidence that strongly suggests we can’t count on compiler optimizations to help us out of this hole: in particular, I’ll show — using a new experimental methodology — that the difference between clang’s -O2 and -O3 optimization levels is essentially indistinguishable from noise.

Instructor Interview: Patrice Roy / Managing Memory

In this instructor interview, Kevin Carpenter welcomes Patrice Roy for a discussion of his CppCon Academy class, Managing Memory. Patrice has been a professor for over two decades and has been to every CppCon, but this is his first time at CppCon as a Ph.D graduate!

Patrice and Kevin discuss what attendees will get out of his class. This class is for people coming from other languages that want to do C++ right and for people who have been writing C++ that want to do it better, to get more control, more speed, and more resilience. There are a number of details of specialized knowledge, but they can be simple and fun. People will end the class knowing how to do things because they’ll have done them in the class.

In addition to his class, Patrice is also going to be presenting two talks for the Main Program. The idea for Some Things C++ Does Right comes from identifying the things about C++ that he misses most when teaching classes that use other languages.

The Surprising Costs of void() (and Other Not-Quite-Innocuous Evils) comes from the fact that as a professor grading the work of students he reads a lot of code written by bright people that are still learning, “so they do all sorts of weird things.” When he pointed these “weird things” out to other instructors he found that many knowledgable, experienced people don’t always recognizes some of these mistakes for what they are. This talk will give you a lot to think about.

Instructor Interview: Andreas Fertig / When Efficiency Matters

In this instructor interview, Kevin Carpenter welcomes Andreas Fertig for a discussion of his CppCon Academy class, Modern C++: When Efficiency Matters. This is Andreas’ first time at CppCon.

Andreas and Kevin discuss what attendees will get out of his class and mention that Andreas’ lambda expression talk at Code Dive may give people a taste of what his class will be like.

Of course, they discuss Andreas’ delightful C++ Insights which he uses, along with Matt Godbolt’s Compiler Explore, in the class to help attendees visualize what the compiler is doing with their code.

In addition to his class, Andreas is also going to be presenting the two-part Back to Basics: Templates during the Main Program. He relates that when he teaches classes on modern C++, he frequently hears the comment from students that, although this wasn’t the point of the class, it made them believe in templates in way they’d not perviously. He will be sharing some of that material with attendees in the Back to Basics Track.

CppCon 2020 Keynote: Neighborhoods Banding Together by Lisa Lippincott

Keynote Speaker: Lisa Lippincott

Lisa LippincottLisa Lippincott designed the software architectures of Tanium and BigFix, two systems for managing large fleets of computers. She is chair of the numerics study group of the C++ standardization committee.

This talk builds upon the discussion of local reasoning in last year’s talk The Truth of a Procedure, but is intended to be understandable independently.

From her talk’s description:

In this talk, I will take local reasoning for granted, and look at the process of joining neighborhoods of local reasoning together, and the global reasoning that ensures they form a coherent whole. I will show how we can prevent incoherent joining, and prevent the emergence of unbounded non-local recursion as the program is linked together.

CppCon 2020 Program Available

The Main Program for CppCon 2020 is now live!

We’ll have over seventy-five regular sessions delivered by the best C++ presenters in the industry, many returning from previous years as well as some exciting new voices. We’ll have five or six concurrent tracks full of sessions containing C++ best practices and what you need to know about the brand spanking new C++20.

This year’s Main Program features three special tracks including the Back to Basics Track, the Embedded Track, and one surprise that we’ve not announced yet.

In addition to the Main Program, we’ll have panels, lightning talks, BOFs, exhibitors, social events, classes, and a new feature, online Ask Me Anything (on C++). These AMAs are focused on creating additional engagement opportunities with presenters and other attendees.

Most of the program is published, but we are still working a few surprises, so keep checking back.

We’d like to thank the Program Committee, our speakers, and the many professionals who proposed talks which we, unfortunately, just couldn’t squeeze in this year. Thank you for your hard work and enthusiastic support for this year’s program!

If you aren’t certain about CppCon, just watch (one year old) video!

If you recognize someone you know, let them know that you’ll be looking for them online!

Instructor Interview: Mateusz Pusz / C++ Concepts

In this week’s instructor interview, Kevin Carpenter welcomes Mat Pusz for a discussion of his CppCon Academy class, C++ Concepts: Constraining C++ Templates in C++20 and Before. Mat quickly demonstrates the power and importance of constraining types when calling functions. His class will cover how to do this with the new concepts feature in C++20 and also how to do it if you are not yet using C++20.

In addition to his class, Mat is also going to be presenting A Physical Units Library For C++ during the Main Program. He will be discussing his library and the progress that the Standards committee has made toward including it in an upcoming standard.

Mat and Kevin also discuss the challenges and opportunities of online training. Mat discusses some of the techniques he has developed and the hardware and software tools that he uses.

Watch this space for more interviews with Kevin and CppCon presenters.

CppCon 2020 Keynote: C++20 by Marc Gregoire

Keynote Speaker: Marc Gregoire

Marc Gregoire is a C++ blogger and author of Professional C++ and co-author of C++ Standard Library Quick Reference. He is a software architect at Nikon Metrology with experience developing C++ programs running 24/7 on Windows and Linux and is the founder of the Belgian C++ Users Group.

The title of Marc’s talk is C++20: An (Almost) Complete Overview. C++20 is going be discussed quite a bit at this year’s conference and in addition to providing an overview of the new language/library changes, Marc will guide you to other CppCon talks on C++20.

If you want a complete overview of all C++20 features, including references to other more deep-dive sessions at CppCon 2020 on certain topics, then this session is for you.

Marc’s talk will give you the confidence and familiarity you need to embrace the latest version of C++.

From his talk’s description:

This presentation gives an overview of (almost) all new features in both the language and the Standard Library. Some more exotic features will be left out. New language features include

  • modules,
  • coroutines,
  • concepts,
  • templated lambdas,
  • constexpr changes,
  • designated initializers,
  • the spaceship operator,
  • string literals as template parameters,
  • feature test macros,
  • conditional explicit,
  • immediate functions,
  • and more.

Instructor Interview: Phil Nash / Accelerated Test Driven Design

In this week’s instructor interview, Kevin Carpenter welcomes Phil Nash for a discussion of his CppCon Academy class, Accelerated TDD: For More Productive C++ . Phil shares the origin story of Catch, the popular testing framework that he authored to support better testing in C++. Kevin has taken a previous CppCon Academy class on testing with Phil. Phil explains that he focuses less on what TDD is (which can be explained in five minutes using one slide) and more on how to apply and get the benefits of TDD in real-world code bases.

Phil also chairs the C++ on Sea conference, which was held earlier this year as an online event using Remo (the same platform that CppCon 2020 will use). He discusses the challenges of an online event and the rationale behind use of Remo for C++ on Sea.  As Phil is co-chair of this year’s CppCon we will benefit from his prior experience organizing a conference on Remo.

Kevin and Phil also discuss the two Main Program sessions that Phil will be giving this year. One is a must-see for anyone that isn’t taking the TDD class and the other is on C++ paradigms.

Watch this space for more interviews with Kevin and CppCon presenters.

CppCon Selects Remo

CppCon is announcing the platform that it has selected for the CppCon 2020 online conference and why it matters.

The question has been asked Why would anyone pay to attend an online conference when the session videos will be made freely available on YouTube?

The answer to this is the same as the answer to the question Why would anyone pay to attend an onsite conference when the session videos will be made freely available on YouTube?

Between the session proposal submitters and the Program Committee reviewers there are literally hundreds of people that work to bring you the best possible program of C++ content every year at CppCon. We think it is the best program available on C++. But we know that it is not the most important aspect of the CppCon experience. We know that the reason that people take the time and money to attend the conference is because it is an unparalleled opportunity to be part of the best gathering of C++ minds of the year.

The best aspect of CppCon is the, so called, hallway track. The conversations that attendees have with presenters and other attendees is what people remember and the reason they return.

While evaluating options for the CppCon 2020 online conference platform, the top-most concern of the organizers was, What platform best supports attendee engagement with other attendees?

With that thought in mind, the organizers selected Remo.

We feel that the Remo platform best serves our goal of delivering the best possible C++ program while also optimizing for attendee engagement.

Of course we aren’t just relying on the platform, the organizers have developed new events that exploit the benefits of an online conference and have found ways to develop and enhance the sense of community that comes from attendee engagement. Attendees will have many opportunities to engage with presenters and other attendees in casual, unrecorded,  ask-me-anything sessions.

This year’s event offers an unprecedented opportunity to be a part of this community. Without the time and cost of travel and lodging and with an easy-to-expense registration fee, this is certainly the least expensive and most convenient CppCon ever. Engage with the best minds in C++ from the comfort of your own home.

Don’t miss your chance to join us for what promises to be an online adventure with the C++ community.

Instructor Interview: Klaus Iglberger / Modern C++ Design Patterns

In this week’s instructor interview, Kevin Carpenter welcomes Klaus Iglberger for a discussion of his CppCon Academy class, Modern C++ Design Patterns. Kevin took this class with Klaus last year and they discuss how Klaus has adapted it for online instruction. Klaus also outlines the additions and improvement to last year’s presentation. Kevin shares how his codebase has incorporated the Design Patterns that are covered in the class.

Klaus also discussions the three Main Program sessions that he’ll be giving this year. One is a Back to Basics talk on exceptions, one is on the basics of calling functions, and the other is on the SOLID principles.

Watch this space for more interviews with Kevin and CppCon presenters.