Day 1 /  / Track 1  /  EN / Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer.

Optimization — making code faster — is an essential ingredient of modern computing. The speed of light is limited, so we're unable to increase computer clock speed anymore; in other news, the matter is composed of discrete atoms so we can't make circuits much smaller than they already are. That means more speed for essential tasks — ranging from speech recognition to self-driving cars to General Artificial Intelligence — is to be found in people's minds.

This talk discusses two new examples at the opposite ends of the spectrum of optimization techniques. First, a silicon-oriented technique: replacing branches with arithmetic. Modern CPUs deal better with straight-line code than with "surprising" branches, and this quirk can be exploited in a principled manner. Second, a (surprise!) classic algorithm can be adjusted to take into account data distribution statistics and locality, for better theoretical and practical performance.

Download presentation
Andrei Alexandrescu
The D Language Foundation

Romanian-born Computer Scientist Andrei Alexandrescu is an expert in a broad range of topics including software systems design and implementation, programming language design, library design, all aspects of the C++ and D programming languages, Machine Learning, and Natural Language Processing. His creative approach to problem solving, broad knowledge, and charismatic presence make Andrei a sought-after invited speaker at conferences worldwide.

Andrei's books and articles have had a marked influence in the software industry. He is the author of such best-sellers as "Modern C++ Design", "C++ Coding Standards" (in co-authorship with Herb Sutter), "The D Programming Language", along with the articles like "Simplify Your Exception-Safe Code - Forever" (in co-authorship with Petru Marginean) and "Mojo: Move of Joint Objects". The full list can be found here: