程序读取文字或解释变量所需的时间是否更少



程序读取文字所需的时间是否比读取变量的时间少?假设我们有以下方案:

std::cout << 24 + 55 << endl;

而这个:

int x = 24;
int y = 55;
std::cout << x + y << endl;

那么,当必须读取这些变量并解释它们而不仅仅是阅读文字时,程序是否需要一些额外的时间?我猜我是一个过度思考的人...谢谢!

如果代码经过优化,它们很可能会生成完全相同的代码。编译器可以看到变量永远不会被修改,因此它会将其值替换为cout代码。

如果不优化,文字可能会更快。编译器会将即时数据放入指令中,并可能在编译时进行添加。变量可能必须从内存位置加载到寄存器中。

如果您想确定,请使用编译器的 -S 选项将汇编程序代码保存到文件中,并查看函数的每个版本是如何编译的。

最新更新