#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 достаточно общего, чтобы приведенный выше код выполнялся одинаково в каждом из них; однако единственный способ узнать наверняка-это скомпилировать и в том, и в другом профиле.