在PHP这样的脚本语言中有这样的for循环会是一个非常糟糕的主意:
string s("ABCDEFG");
int i;
for( i = 0; i < s.length(); i ++ )
{
cout << s[ i ];
}
Run Code Online (Sandbox Code Playgroud)
这是一个例子,我不是在构建这样的程序.(对于那些觉得他们必须告诉我为什么这段代码< 在这里插入不好的东西 >>的人
如果将此C++示例转换为类似的PHP脚本,则会在每个循环周期计算字符串的长度.这将导致现实脚本中的巨大性能损失.
我认为这同样适用于C++程序,但是当我看一下教程,几个开源库和其他代码时,我发现循环的限制器没有预先计算.
s吗?Mik*_*vey 11
这都是相对的.
PHP被解释,但如果s.length进入PHP解释器的编译部分,它将不会很慢.但即使它很慢,花费的时间s[i],以及花费的时间又如何cout <<呢?
在淹没其他东西的同时,很容易专注于循环开销.
就像你用C++写的那样,并cout写入控制台,你知道什么会占主导地位吗?cout会不会因为那个无辜的<<操作员调用大量的库代码和系统例程.