tgoop.com/cppproglib/6048
Create:
Last Update:
Last Update:
⚡️ Фича дня: [[likely]]/[[unlikely]] (C++20)
Компилятор не знает, какие ветки кода выполняются чаще, что влияет на производительность.
Атрибуты помогают компилятору оптимизировать предсказание переходов.
if (error_code != 0) {
handle_error(); // редкий случай
} else {
normal_processing(); // частый случай
}
if (error_code != 0) [[unlikely]] {
handle_error(); // компилятор оптимизирует как редкий случай
} else [[likely]] {
normal_processing(); // оптимизируется как частый случай
}
Применение:
• Обработка ошибок в системном коде
• Оптимизация горячих путей в циклах
• Улучшение производительности критических секций
Библиотека C/C++ разработчика
#буст