Популярное

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

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

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

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

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

Building an App With AI: Week 1 Breakdown #buildinpublic

Building an App With AI: Week 1 Breakdown #buildinpublic

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

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

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

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

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

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

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

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++ Multithreading & Parallel Programming - Complete High-Performance Computing Course

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

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья

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

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

Мои первые педали эффектов на микроконтроллерах ATMega AVR

Мои первые педали эффектов на микроконтроллерах ATMega AVR

Harder Than It Seems? 5 Minute Timer in C++

Harder Than It Seems? 5 Minute Timer in C++

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!

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

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

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

Back to Basics: C++ API Design - Jason Turner - CppCon 2022

Back to Basics: C++ API Design - Jason Turner - CppCon 2022

Сервер с 10 NVMe: обзор Supermicro 1029U-TN10RT и подводные камни RAID

Сервер с 10 NVMe: обзор Supermicro 1029U-TN10RT и подводные камни RAID

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



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



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