Кирилл Плешивцев, PGO: уход и кормление

Доклад про оптимизацию пода на С с конференции C Russia 2019 Piter: “PGO: уход и кормление“. Автор - Кирилл Плешивцев. Тезисы с таймингом: 00:00 - Опция компилятора “оптимизация по скорости“ для больших проектов может давать более медленный код, чем “оптимизация по размеру“. Это связано с ростом размера бинарника, проблемами кэширования и т.д. 1:30 - Чаще всего перед оптимизацией выполняется профилирование, чтобы узнать какие участки программы “тормозят“. Если этого мало - можно заняться ручным управлением. На слайде приведено использование макросов likely/unlikely, которыми можно пометить условия, которые “чаще всего“ завершаются вычислением одного и того же значения. Например if (pointer == nullptr) return; чаще всего вычисляють false. Такие знания могут помочь компилятору сгенерировать оптимильный код, но это умеют не все компиляторы. Прочитать подробнее можно тут:
Back to Top