Исследование __attribute__((always_inline)) / __force_inline
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 17.04.24 11:10
Оценка:
Здравствуйте!

У clang/gcc используется __attribute__((always_inline)), у MSVC — ключевое слово __force_inline. И то и другое напрягают компилятор принудительно инлайнить функции.
Есть ли какие-то исследования/сравнения, может кто видел или сам делал, которое показывает плюсы (или минусы) принудительного инлайнинга? Мне почему-то кажется, что от этого одни минусы как размеру кода, так и производительности, обычный inline, который просто советует компилятору, имхо, гораздо лучше. Компилятор таки обычно умнее, и у него больше информации о том, насколько выгодно/невыгодно заинлайнить функцию?

Я нарыл только такое — https://indico.cern.ch/event/386232/sessions/159923/attachments/771039/1057534/always_inline_performance.pdf

Но там нет конкретного кода, а мне хочется в том числе самому погонять, померять скорость, посмотреть на размер кода, посмотреть на асм, который там генерится.

А самому годный пример лень пилить
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.