Загрузка страницы

CppCon 2016: Timur Doumler “Want fast C++? Know your hardware!"

http://CppCon.org

Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016

As C++ evolves, it provides us with better and more powerful tools for optimal performance. But often, knowing the language very well is not enough. It is just as important to know your hardware. Modern computer architectures have many properties that can impact the performance of C++ code, such as cache locality, cache associativity, true and false sharing between cores, memory alignment, the branch predictor, the instruction pipeline, denormals, and SIMD. In this talk, I will give an overview over these properties, using C++ code. I will present a series of code examples, highlighting different effects, and benchmark their performance on different machines with different compilers, sometimes with surprising results. The talk will draw a picture of what every C++ developer needs to know about hardware architecture, provide guidelines on how to write modern C++ code that is cache-friendly, pipeline-friendly, and well-vectorisable, and highlight what to look for when profiling it.

Timur Doumler
ROLI Ltd.
JUCE Senior Software Engineer
London, UK
Timur Doumler is Senior Software Developer at London-based technology company ROLI. He is currently working on JUCE, the leading cross-platform framework for creating audio applications used by hundreds of companies in the audio industry. After five years of writing high-performance code in Fortran, C, and C++ for numerical simulations of the cosmic structure formation, Timur became committed to audio and music production software. Before joining ROLI, he worked on various projects at market-leading company Native Instruments, such as KONTAKT, the industry standard sampling platform used by the majority of music producers and composers for film score, games, and contemporary popular music. Timur holds a PhD in astrophysics and is passionate about well-written code, modern C++ techniques, science-fiction, learning languages, and progressive rock music.

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com

Видео CppCon 2016: Timur Doumler “Want fast C++? Know your hardware!" канала CppCon
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
3 октября 2016 г. 0:24:12
00:59:44
Другие видео канала
CppCon 2016: Jason Turner “Practical Performance Practices"CppCon 2016: Jason Turner “Practical Performance Practices"CppCon 2016: Marshall Clow “STL Algorithms - why you should use them, and how to write your own"CppCon 2016: Marshall Clow “STL Algorithms - why you should use them, and how to write your own"The Speed Game: Automated Trading Systems in C++ - Carl Cook - Meeting C++ 2016The Speed Game: Automated Trading Systems in C++ - Carl Cook - Meeting C++ 2016CppCon 2015: Timur Doumler “C++ in the Audio Industry”CppCon 2015: Timur Doumler “C++ in the Audio Industry”CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"CppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++”CppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++”CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()”CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()”CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”CppCon 2019: Andrei Alexandrescu “Speed Is Found In The Minds of People"CppCon 2019: Andrei Alexandrescu “Speed Is Found In The Minds of People"CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced.  What do they really do?”CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”CppCon 2017: Kate Gregory “10 Core Guidelines You Need to Start Using Now”CppCon 2017: Kate Gregory “10 Core Guidelines You Need to Start Using Now”CppCon 2018: Bjarne Stroustrup “Concepts: The Future of Generic Programming (the future is here)”CppCon 2018: Bjarne Stroustrup “Concepts: The Future of Generic Programming (the future is here)”Mathieu Ropert “This Videogame Programmer Used the STL and You Will Never Guess What Happened Next”Mathieu Ropert “This Videogame Programmer Used the STL and You Will Never Guess What Happened Next”Writing cache friendly C++ - Jonathan Müller - Meeting C++ 2018Writing cache friendly C++ - Jonathan Müller - Meeting C++ 2018CppCon 2016: Nicholas Ormrod “The strange details of std::string at Facebook"CppCon 2016: Nicholas Ormrod “The strange details of std::string at Facebook"CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”CppCon 2019: Klaus Iglberger “Back to Basics: Move Semantics (part 1 of 2)”CppCon 2019: Klaus Iglberger “Back to Basics: Move Semantics (part 1 of 2)”
Яндекс.Метрика