我知道inline是对编译器的提示或请求,用于避免函数调用开销.
那么在什么基础上可以确定函数是否是内联的候选者?在哪种情况下应该避免内联?
如果我有一个C++/C程序(语言无关紧要,只需要说明一个概念):
#include <iostream>
void foo() {
printf("in foo");
}
int main() {
foo();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
装配中会发生什么?我实际上并不是在寻找汇编代码,因为我还没有那么远,但基本原理是什么?
有落实经典龙格-库塔方案Python中显示的两种方式在这里.第一个使用lambda函数,第二个没有它们.
哪一个会更快,为什么呢?
c ×3
c++ ×2
inline ×2
performance ×2
assembly ×1
function ×1
optimization ×1
python ×1
runge-kutta ×1