White Spaces,Comments,Empty Lines会增加PHP的执行时间吗?

时间:2013-08-29 17:46:13

标签: php execution execution-time

我很多天都有这个疑问。在我写的每个PHP代码中,我会写很多注释,留下许多空格,并在section和section之间留下4到5个空行(为了让我清楚)

所有这些空格,注释,空行会使我的PHP代码运行缓慢吗?

非常感谢个人经历:)

4 个答案:

答案 0 :(得分:2)

运行代码时,完全忽略注释和空格。你可以把所有额外的东西想象成一旦完成并且代码正在完成它就完全消失了。

额外的空格和评论仅供您和其他编码人员更好地阅读和理解您的代码。事实上,如果你使用额外的空格和评论,编码人员会因为写作和提供可怕的代码而生气!

答案 1 :(得分:2)

这实际上是IO和硬盘速度的问题。如果您的裸文件为10KB且注释和换行符增加4KB,那么硬盘驱动器花费更多KB的额外时间就是您需要进行基准测试(顺便说一下,它可以忽略不计),甚至不值得花时间。

如果你开始进行微优化,那么你就冒着让你的代码在阅读和维护方面非常可怕的风险。

加速代码的最佳方法是在必要时对代码进行重新分解,而不要做那些显然占用资源的愚蠢的事情,例如:

<?php

$arr = array(); // pretend it has 50,000 items

//GOOD IDEA: count the array once and reference that number
$arr_count = count($arr);
for($i=0; $i < $arr_count; $i++){
    echo $arr[$i];
}


//BAD IDEA: re-counting the array for every iteration
for($i=0; $i < count($arr); $i++){
    echo $arr[$i];
}

?>

使用它之后还要取消设置大型数组比等待垃圾收集器启动更好。例如:从数据库中提取数据并循环遍历它。完成后取消设置并保持编码。

答案 2 :(得分:1)

请考虑以下代码。

<?php
    $time = round(microtime(true) * 1000);
    for($i = 0; $i < 1000000; $i++) {
        /*


        */
    }
    echo (round(microtime(true) * 1000) - $time) . "<br/>";


    $time = round(microtime(true) * 1000);
    for($i = 0; $i < 1000000; $i++) {
    }
    echo (round(microtime(true) * 1000) - $time) . "<br/>";
?>

有时候第一个更快,而有些则第二个更快。所以评论不会影响速度。

答案 3 :(得分:0)

不是,这是一般脚本和编码的简单答案 如果你不得不考虑在这里和那里获得几毫秒,并且删除评论是有效的,A)你有太多的评论,并且B)你已经知道这一切并且正在执行基准测试等。

评论数量通常与您拥有的代码量成比例。即一条或两条注释,用于加载IF / ELSE,将vars设置为POST或SESSIONS等,以及DB查询等。由于PHP解析脚本的大部分时间是打开文件,访问内存,检查成千上万的东西包括缓存等,读取和执行代码,访问数据库等,忽略你的评论所需的时间可能是.001%

您和其他开发人员可能会使用注释来理解代码。只要保持它们整洁,尽量保持它们尽可能短,同时保持简洁,真实和有用。