Skip Main Navigation
Page Content
This event has ended

Save This Event

Event Saved

Facebook C++ Conference


Saturday, June 2, 2012 from 11:00 AM to 7:00 PM (PDT)

Facebook C++ Conference

Registration Information

This event is invite-only

You need an invitation to register for this event. Contact the host to find out more.

Looking for something to do?
Check out other great events using Eventbrite.

Event Details


11:00am Registration Opens
12:00pm Opening Remarks
12:10pm Scott Meyers: Adventures in Perfect Forwarding
1:10pm Lunch
2:10pm Andrei Alexandrescu: Sheer Folly
3:30pm Spencer Ahrens: Why Wait?  Building a Synchronized Hash Map for Modern Servers
 4:50pm Herb Sutter: Welcome to the Jungle
5:30pm Closing Remarks
 6:00pm Happy Hour


Scott Meyers: Adventures in Perfect Forwarding

Scott Meyers is one of the world's foremost authorities on C++. Author of the best-selling Effective C++ series (Effective C++, More Effective C++, and Effective STL), he’s also a founder of C++ and Beyond and the consulting editor for Addison Wesley's Effective Software Development Series. He provides training and consulting services to clients worldwide.


Perfect forwarding is a C++11 technique that enables the use of move semantics in situations where the move’s source travels across function call boundaries to reach its destination. Common usage scenarios include constructors and setter functions that forward arguments they receive to data members they initialize or set. In the C++11 standard library, std::make_shared perfect-forwards its arguments to the constructor of whatever object the to-be-created std::shared_ptr is to point to.

Perfect forwarding has quirks. For example, it’s not perfect: some types can’t be perfect-forwarded. Because perfect forwarding is implemented via function templates with parameters declared in a rigidly-specified manner, the usual approach to treating some kinds of parameter types differently from others (overloading) can’t be employed. Even combining perfect forwarding with the pImpl idiom leads to unexpected hitches.

In this talk, Scott Meyers offers a pragmatic, practical view of perfect forwarding that includes treatment of its quirks. The presentation is aimed at C++11 developers who need to not just understand perfect forwarding, they need to use it to solve real programming problems.

Andrei Alexandrescu: Sheer Folly

Andrei Alexandrescu is a researcher, software engineer, and technical author. He wrote three best-selling books on programming and numerous articles and papers on topics ranging from programming to language design to Machine Learning to Natural Language Processing. Andrei holds a PhD in Computer Science from the University of Washington. He works as a Research Scientist for Facebook.


We will be making an announcement of interest to C++ programmers around the world. Stay tuned. 

Spencer Ahrens: Why Wait?  Building a Synchronized Hash Map for Modern Servers

Spencer Ahrens is an engineering manager at Facebook where he has worked on several key pieces of graph infrastructure. Past stints from Spencer's career include work on solar energy and helicopter navigation systems. Spencer holds a Master's degree in Mechanical Engineering from MIT.


In today's world of multicore systems with vast available memory, and complex applications operating on heavily interconnected graphs of data updated in real time, mutex-based concurrency leaves a lot of performance on the table. This talk digs into the details of AtomicHashMap, a high performance hash map based on wait-free design principles, plus two supporting technologies that are also useful as stand alone modules—a new thread local implementation, and a high throughput concurrent counter.

Herb Sutter: Welcome to the Jungle

Herb Sutter is the chair of the ISO C++ standards committee and a software architect at Microsoft, where he has been the lead designer of C++/CLI, C++/CX, C++ AMP, and other technologies.


In the twilight of Moore's Law, the transitions to multicore processors, GPU computing, and HaaS cloud computing are not separate trends, but aspects of a single trend—mainstream computers from desktops to 'smartphones' are being permanently transformed into heterogeneous supercomputer clusters. Henceforth, a single compute-intensive application will need to harness different kinds of cores, in immense numbers, to get its job done. -- The free lunch is over. Now welcome to the hardware jungle.

Have questions about Facebook C++ Conference? Contact Facebook

Interested in hosting your own event?

Join millions of people on Eventbrite.

Please log in or sign up

In order to purchase these tickets in installments, you'll need an Eventbrite account. Log in or sign up for a free account to continue.