Здравствуйте!
У clang/gcc используется __attribute__((always_inline)), у MSVC — ключевое слово __force_inline. И то и другое напрягают компилятор принудительно инлайнить функции.
Есть ли какие-то исследования/сравнения, может кто видел или сам делал, которое показывает плюсы (или минусы) принудительного инлайнинга? Мне почему-то кажется, что от этого одни минусы как размеру кода, так и производительности, обычный inline, который просто советует компилятору, имхо, гораздо лучше. Компилятор таки обычно умнее, и у него больше информации о том, насколько выгодно/невыгодно заинлайнить функцию?
Я нарыл только такое —
https://indico.cern.ch/event/386232/sessions/159923/attachments/771039/1057534/always_inline_performance.pdf
Но там нет конкретного кода, а мне хочется в том числе самому погонять, померять скорость, посмотреть на размер кода, посмотреть на асм, который там генерится.
А самому годный пример лень пилить