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: http://erdani.com/index.php/articles/
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, with simple examples, a few algorithm design principles that can be applied consistently to improve, or sometimes entirely redesign, algorithms for better performance.