Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Branchless Programming in C++ - Fedor Pikus - CppCon 2021

Автор: CppCon

Загружено: 2022-01-05

Просмотров: 184844

Описание:

https://cppcon.org/
https://github.com/CppCon/CppCon2021
---
Have you ever written code like this:
void f(bool b, long x, long& s) { if (b) s += x; }
Probably you have. Would you like me to tell you how much performance you left on the table? With a small change, that function could be made 2.5 times faster.

What about this code:
if (a[i] && b[i]) do_something(); else do_something_else();
Would you believe me if I told you that, under some not-so-exotic conditions, this line runs four times slower than it could be? It’s true, and I’m going to show you when and why.

This presentation will explain how modern CPUs handle computations to ensure that the hardware is used efficiently (which is how you get high performance from the processor). We will then learn how conditional code disrupts the ideal flow of computations and the countermeasures employed by the CPU designers to retain good performance in the presence of such code. Sometimes these measures are sufficient, often with the help of the compiler. But when they aren’t, it is up to the programmer to recover lost performance by coding with fewer branches.

---
Fedor Pikus

Fedor G Pikus is a Chief Engineering Scientist in the Design to Silicon division of Mentor Graphics Corp (Siemens business). His earlier positions included a Senior Software Engineer at Google and a Chief Software Architect for Calibre PERC, LVS, DFM at Mentor Graphics. He joined Mentor Graphics in 1998 when he made a switch from academic research in computational physics to the software industry. Fedor is a recognized expert on high-performance computing and C++, he presented his works at CPPCon, SD West, DesignCon, in Software Development Journal, and is also an O’Reilly author. His responsibilities as a Chief Scientist include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, design, and architecture of the software, and research in the new design and software technologies. Fedor has over 25 patents and over 100 papers and conference presentations on physics, EDA, software design, and C++ language.

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

YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

*--*

Branchless Programming in C++ - Fedor Pikus - CppCon 2021

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Using Coroutines to Implement C++ Exceptions for Freestanding Environments - Eyal Zedaka - CppCon 21

Using Coroutines to Implement C++ Exceptions for Freestanding Environments - Eyal Zedaka - CppCon 21

Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques - Fedor G Pikus - C++Now 2024

Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques - Fedor G Pikus - C++Now 2024

Программирование без ветвлений: почему «If» медленный... и что мы можем с этим поделать!

Программирование без ветвлений: почему «If» медленный... и что мы можем с этим поделать!

How to Tame Packs, std::tuple, and the Wily std::integer_sequence - Andrei Alexandrescu

How to Tame Packs, std::tuple, and the Wily std::integer_sequence - Andrei Alexandrescu

Локальность кэша C++ и предсказуемость ветвлений

Локальность кэша C++ и предсказуемость ветвлений

Concept-based Generic Programming - Bjarne Stroustrup - CppCon 2025

Concept-based Generic Programming - Bjarne Stroustrup - CppCon 2025

Как взломать любое программное обеспечение

Как взломать любое программное обеспечение

Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022

Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022

C++ FINALLY Made Logging GOOD!

C++ FINALLY Made Logging GOOD!

Back to Basics: Almost Always Vector - Kevin Carpenter - CppCon 2024

Back to Basics: Almost Always Vector - Kevin Carpenter - CppCon 2024

Теренс Тао о том, как Григорий Перельман решил гипотезу Пуанкаре | Лекс Фридман

Теренс Тао о том, как Григорий Перельман решил гипотезу Пуанкаре | Лекс Фридман

C++ Multithreading & Parallel Programming - Complete High-Performance Computing Course

C++ Multithreading & Parallel Programming - Complete High-Performance Computing Course

Карлсен В ЯРОСТИ толкнул оператора! Что случилось в партии Карлсен - Артемьев?

Карлсен В ЯРОСТИ толкнул оператора! Что случилось в партии Карлсен - Артемьев?

Using Modern C++ to Eliminate Virtual Functions - Jonathan Gopel - CppCon 2022

Using Modern C++ to Eliminate Virtual Functions - Jonathan Gopel - CppCon 2022

Параллельный C++: ложное разделение

Параллельный C++: ложное разделение

Как финский гик ВЫНЕС Майкрософт и стал богом айти // Линус Торвальдс

Как финский гик ВЫНЕС Майкрософт и стал богом айти // Линус Торвальдс

Миллиарды на ветер: Су-57 - главный авиационный миф России

Миллиарды на ветер: Су-57 - главный авиационный миф России

CppCon 2017: Fedor Pikus “Read, Copy, Update, then what? RCU for non-kernel programmers”

CppCon 2017: Fedor Pikus “Read, Copy, Update, then what? RCU for non-kernel programmers”

Beyond Sequential Consistency - Leveraging Atomics for Fun & Profit - Christopher Fretz - C++ on Sea

Beyond Sequential Consistency - Leveraging Atomics for Fun & Profit - Christopher Fretz - C++ on Sea

A Physics Era is Over.

A Physics Era is Over.

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]