Іноді компілятори вбудовують вбудовані функції. Це означає, що вони переміщують код викликаної функції у функцію виклику. Це робить дещо швидше, тому що немає потреби натискати та висувати матеріали на стек викликів та вимикати їх.
Отже, моє запитання: чому компілятори не впорядковують все? Я припускаю, що це зробить виконуваний файл значно швидше.
Єдина причина, про яку я можу подумати - це значно більший виконуваний файл, але чи справді це має значення в наші дні з сотнями ГБ пам'яті? Невже покращена продуктивність не варта?
Чи є якась інша причина, чому компілятори не просто вбудовують всі функції викликів?
Isn't the improved performance worth it?
Для методу, який запустить цикл 100 разів і розчавить деякі серйозні числа, накладні витрати на переміщення 2 або 3 аргументів до регістрів процесора - це нічого.