Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果我们在代码文件中添加太多注释,PHP会变慢吗?_Php_Performance_Optimization_Compiler Construction_Interpreter - Fatal编程技术网

如果我们在代码文件中添加太多注释,PHP会变慢吗?

如果我们在代码文件中添加太多注释,PHP会变慢吗?,php,performance,optimization,compiler-construction,interpreter,Php,Performance,Optimization,Compiler Construction,Interpreter,可能重复: 假设我们有100个类文件,每次请求页面时,所有这些类都必须由PHP解析 如果几乎一半的源代码行都是注释,PHP会变慢吗?因为通常我会在代码中添加很多注释和描述。这对编译器来说无关紧要,因为注释没有被编译,但PHP是解释器,任何不好的事情都可能发生?速度较慢的唯一方法是解释器必须读取更多字节。但是对于执行速度,它没有影响,因为它们只是被解释器忽略了 因此,基本上,添加评论并不重要 当然,解析器需要做更多的工作,所以速度会慢一些。在我们的项目中,我们使用了一个可以显著提高速度的方法。

可能重复:

假设我们有100个类文件,每次请求页面时,所有这些类都必须由PHP解析


如果几乎一半的源代码行都是注释,PHP会变慢吗?因为通常我会在代码中添加很多注释和描述。这对编译器来说无关紧要,因为注释没有被编译,但PHP是解释器,任何不好的事情都可能发生?

速度较慢的唯一方法是解释器必须读取更多字节。但是对于执行速度,它没有影响,因为它们只是被解释器忽略了


因此,基本上,添加评论并不重要

当然,解析器需要做更多的工作,所以速度会慢一些。在我们的项目中,我们使用了一个可以显著提高速度的方法。我建议您使用加速器,然后您可以对代码进行注释,而不必担心性能。

是的,但这是最低限度的,并且可以(而且应该)完全通过使用APC或其他操作码缓存来解决。作为一个奖励,APC将加快其他一切以及


如果你的网站速度慢,评论是而不是原因。

你所描述的情况不会以任何明显的方式使网站速度慢下来。解析器将看到
/*
/
,只需分别跳到下一个
*/
或换行符。但是,如果您有50k行注释或类似的傻事,那么在跳过它们时,解析器可能会慢一点


如果您正在寻找加快速度的方法,这是一个很好的解决方案。

但即使PHP想要跳过注释行,它也必须扫描它们以找到“/*”和“*/”@Paul:PHP必须扫描整个文件。考虑一下在1009PHP文件中包含了一个极小的小代码< > /COD>,在999K的中间,否则纯HTML是多么的不尽人意。除非您正在运行facebook大小的操作,否则跳过注释在PHP中基本上是“免费的”。@PaulDinh-当然,但与实际解析和编译代码的开销相比,跳过注释的开销很小。@MikeB是的,确实如此。缓存的操作码不必每次都重新解析,这意味着注释也不需要重新解析。使用操作码缓存,您不必担心大量注释对性能的影响。似乎PHP也被编译为字节码?@Mike B:PHP加速器将源代码简化为字节码。此过程将删除与评论相关的任何性能损失(可能很小)。@ceejayoz我接受更正。谢谢你的解释。评论的好处大于成本:)@JohnCartwright好极了。一个额外的服务器比雇佣第二个开发人员来确定WTF是以未记录的代码进行的更便宜。