Forwarded from Библиотека программиста | программирование, кодинг, разработка
Авторы лучших проектов в четырёх номинациях (от AI до разработки для разработчиков) получат денежные гранты, облачные ресурсы от Cloud.ru и экспертную поддержку. Главная цель — помочь энтузиастам превратить свои идеи в полноценные продукты.
Подробности и правила участия
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Что вернет main()?
Anonymous Quiz
10%
0
7%
1
55%
2
23%
Любое значение от 0 до 2
6%
Undefined behavior
😁5🤔3
⚡️ Фича дня: [[likely]]/[[unlikely]] (C++20)
🔥 Проблема:
Компилятор не знает, какие ветки кода выполняются чаще, что влияет на производительность.
✏️ Решение:
Атрибуты помогают компилятору оптимизировать предсказание переходов.
❌ До:
✅ После:
Применение:
• Обработка ошибок в системном коде
• Оптимизация горячих путей в циклах
• Улучшение производительности критических секций
💡 Помогают ли вам атрибуты в оптимизации?
Библиотека C/C++ разработчика
#буст
Компилятор не знает, какие ветки кода выполняются чаще, что влияет на производительность.
Атрибуты помогают компилятору оптимизировать предсказание переходов.
if (error_code != 0) {
handle_error(); // редкий случай
} else {
normal_processing(); // частый случай
}
if (error_code != 0) [[unlikely]] {
handle_error(); // компилятор оптимизирует как редкий случай
} else [[likely]] {
normal_processing(); // оптимизируется как частый случай
}
Применение:
• Обработка ошибок в системном коде
• Оптимизация горячих путей в циклах
• Улучшение производительности критических секций
Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍8🔥2