Вкратце: есть глобальная функция и метод класса. Почему то по глобальной функции идет ее вызов, а метод класса вставляется код. Но если реализацию метода класса выносим (так сказать из хедера) то получаем ее вызовов. Есть ли где описание, что реализованные в хедере функции имеют негласный атрибут инлайна? Я не против инлайна мелких функций, но вставлять достаточно толстый код, уж извините.
В другой версии компилятора всё может поменяться.
Будет весьма неприятно столкнуться с оверхедом в 20кило. В таком случае лучше ставить атрибут __noinline? Или его компилятор тоже может опустить?