Слайды: Краткое содержание доклада Александра Зайцева— “Что не умеет оптимизировать компилятор“ с конференции C CoreHard Autumn 2018. 2:00 - Что такое компиляция. В картинках. Показано место оптимизации в процессе компиляции. 2:56 - Как мы занимаемся оптимизацией? 1) пишем код; 2) включаем флаги оптимизации; 3) задумываемся о сборке под конкретные процессоры или архитектуры - включаем march/mtune и выбираем процессоры; 4) применяем Link-Time-Optimization (LTO) - оптимизация будет производиться не только в одной единице трансляции, а во всей программе; 5) применяем Profile-Guided-Optimization (PGO). Очень подробно про эту крутую тему читай в [1]. 6) используем дополнительные средства - например Facebook BOLT [2]. В BOLT скармливается уже скомпилированный исполняемый файл и статистику от профилировщика perf - про профилирование кода в С смотри в другом видео [3]. На выходе BOLT даст еще более оптим
Hide player controls
Hide resume playing