Дмитрий Матрёничев: Встраивание функций: яркие победы и скрытые поражения
Встраивание функций: яркие победы и скрытые поражения
Доклад будет посвящен обманчиво простой оптимизации - function inlining. Поговорим про историю и принципы этой оптимизации. Про то, как компилятор Go принимает решение о ее использовании и почему она имеет смысл далеко не всегда. Про ее взаимодействие с рантаймом и сборщиком мусора. Рассмотрим mid-stack inlining и какие преимущества он несет. Напоследок поговорим про то, как оптимизировать программу не меняя ее API.
Дмитрий Матрёничев
Россия, Санкт-Петербург
Senior Go Engineer
Tradingview
Backend разработчик в TradingView. Пишу на Go с 2012 года. Интересуюсь высокопроизводительными системами и различными оптимизациями с упором на предсказуемость. По сегодняшний день моя карьера, это доказательство того, что «просто добавьте больше серверов» это не всегда лучшее решение. Мой главный принцип — «простота как вид искусства».