June 21 2017: Understanding Compiler Optimization

Time and Location

June 21, 2017 at 7:00 PM
Steptoe Room, Cafeteria 40,
Microsoft Campus,
156th Ave NE,
Redmond, WA 98052.

Abstract

C++ is used in applications where resources are constrained and performance is critical. However, its power in this domain comes from the ability to build large, complex systems in C++. These systems leverage numerous C++ features in order to build and utilize abstractions that make reasoning about these complex systems possible. Abstractions are the very essence of how we scale software to solve ever larger and more complex problems.

But the common C++ idea of "zero cost" abstractions is, in some senses, a myth. The real achievement of C++ is allowing you, the programmer, to control where and how the cost of your abstractions will be paid. It does this by leveraging remarkably advanced optimizing compilers and carefully written libraries and techniques, all working together to control the cost. In order to be effective writing software that leverages this control, it is essential that the programmer understand the core fundamentals of how the compiler optimizations will behave. Without this, it is too easy to unknowingly limit it or create challenges that it cannot overcome.

Speaker Bio

Chandler Carruth leads the C++ language team and LLVM team at Google. He is also an active contributor to the LLVM and Clang open source projects, and speaks at various C++ events where he tries to help spread knowledge about C++, compilers, tools, and optimization. Previously, he worked on several components of Google’s distributed build system. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Master’s thesis. He can usually found coding with the aid of Cherry Coke Zero in the daytime and pontificating over a single malt scotch in the evening.

A Word From Our Sponsor

For over 50 years, Kforce has operated as a customer-centric partner offering a variety of engagement options to address the unique needs of our clients. We focus on engineering business solutions and user experience for clients ranging from start-up to enterprise level. As the 5th largest technology staffing and solutions firm, Kforce provides over 12,000 dedicated technology consultants annually. Our portfolio highlights successful partnerships with more than 1,000 customers, including 70% of the Fortune 100.

Resources

Video |