Производительность функций в стиле C в C

#c #c #function

Вопрос:

Существует ли какая-либо разница в скорости выполнения между случайными функциями в стиле C внутри программы на C и функциями программы на C?

Учитывая, что эти функции содержат точно такой же фрагмент кода.

фу.с

 void run_foo(void)
{
  foo();
}
 

foo.cpp

 void run_foo(void)
{
  foo();
}
 

Комментарии:

1. Производительность зависит от компилятора и аппаратного обеспечения.

2. Нет никаких причин для какой-либо разницы в производительности между этими двумя фрагментами кода.

3. Apple Clang 11 с -O3 генерирует идентичные инструкции для двух функций.

4. Не имеет отношения к производительности, но на C вы должны объявить свою функцию как void run_foo() (без void аргумента).

5. У C и C достаточно общего, чтобы приведенный выше код выполнялся одинаково в каждом из них; однако единственный способ узнать наверняка-это скомпилировать и в том, и в другом профиле.