Какова относительная стоимость производительности вызова метода по встроенному коду?
Это будет зависеть от многих вещей
Это очень, очень вряд ли будет вашим узким местом. Как всегда, сначала напишите самый читабельный код, какой только сможете, а затем проведите сравнительный анализ, чтобы понять, достаточно ли хорошо он работает. Если нет, используйте профилировщик, чтобы найти "горячие точки", которые возможно стоит микрооптимизировать.
Незначительный. Каждый вызов в .NET, по крайней мере, для C#, является виртуальным вызовом, даже если метод не помечен как виртуальный, рассмотрите это.
То же самое, что и в C++. В основном вызов и возврат, плюс установка параметров. Обратите внимание, однако, что JIT может инкрустировать вызовы методов - так что в конкретном контексте это может быть не так дорого, как вы думаете.
Затраты на производительность настолько несущественны, что не имеют значения по сравнению с упрощением чтения кода и ясностью его предназначения.
Существует стоимость
, связанная с вызовами методов;
Аргументы необходимо помещать в стек или сохранять в регистрах, выполнять пролог и эпилог метода и так далее. Стоимость этих вызовов можно избежать с помощью In-lining.
Но JIT
использует ряд эвристик, чтобы решить, должен ли метод быть встроенным. Следующие факторы влияют на JIT, а не на In-line метод.
Ссылка: Встраивание метода