我正在使用C++与QT 5.6。我有2款简单的控制台应用程序如下:变量是否会影响性能?
//First style
qstring x = “Hi!”;
void func()
{
QTextStream(stdout) << x;
}
int main()
{
while (true)
{
func_one();
}
}
//Second style
void func()
{
QTextStream(stdout) << “Hi!”;
}
int main()
{
while (true)
{
func();
}
}
这将强调出CPU多,因此具有较低的性能可能不会有很大的区别,但是当我们将此大规模,如服务器,其中每2秒建立一次连接就会产生类似于上面循环的情况,并且具有多个变量(但不是相同的变量和数据),资源利用率稍低一点可能导致性能提高,并且资源利用率较低。因此,使用变量可以提高性能,但我将在函数中只使用一次该变量,虽然该函数将被重复调用,或者将使用变量会减慢程序的运行速度,因为它必须重复检查内存的“x “存储然后检索数据?
编辑1:
我不会在我的代码再次使用的变量,我们可以认为,没有编译器优化。 @DrDonut你给的链接中的答案也没有回答是$array === (array) $array
比is_array($array)
更快,即它是一个微优化,我也问第二种方式是微优化还是会损害性能。
1)编译器是比你想象的更聪明 - 在上述情况下,特别是如果你使用'QString的常量x',相同的代码很可能产生。 2)现在不要担心表现。 3)如果你必须,在测试性能之前,先试着猜测什么会更好。 –
没关系。 –
在现实生活中,您没有硬编码字符串的奢侈品,您总是需要使用变量来更改数据。但是,您可以为'QTextStream(stdout)'创建一个变量,以避免每次都构建它。 –