【发布时间】:2011-10-12 06:19:51
【问题描述】:
当涉及到前端代码时,您总是会在生产中将其缩小(删除空格、cmets 等)。
应该对服务器代码做同样的事情吗?我的服务器文件中通常有很多 cmets。但我从未听说有人这样做。
如果以同样的方式优化代码,服务器会不会运行得更快?
【问题讨论】:
-
你可能总是缩小,但其他人可能不同意。
标签: php python ruby perl node.js
当涉及到前端代码时,您总是会在生产中将其缩小(删除空格、cmets 等)。
应该对服务器代码做同样的事情吗?我的服务器文件中通常有很多 cmets。但我从未听说有人这样做。
如果以同样的方式优化代码,服务器会不会运行得更快?
【问题讨论】:
标签: php python ruby perl node.js
您不会有任何改进,因为当您的服务器端代码被转换为机器代码(或解释)时,空格和所有格式都会丢失。它也不是通过网络发送的,而是从本地文件系统中读取的,因此虽然字符越少,启动速度就越快,但从长远来看,它不会产生任何影响,而且启动速度的提升是微不足道的(甚至是不明显的) .
所以,不,缩小您的服务器端代码基本上是无用的,更糟糕的是,它可能会使堆栈跟踪完全无用,因为同一行中会有很多代码(不一定具有与您相同的格式)使用)。
【讨论】:
我认为缩小与减少线路上的字节数有关,而不是运行时效率。
【讨论】:
我不认为这对服务器端代码有任何好处,因为服务器会评估代码并且实际上并没有将其发送下来。如果您正在寻找优化生产代码,您可以考虑设置编译器缓存,例如 PHP 的 APC
【讨论】:
缩小的目的是:(1)最小化通过网络传输的字节数; (2) 加快解析速度(通过浏览器)。
服务器端缩小的等价物是字节码编译。在 Python 中有 "Compiled" Python(.pyc 和 .pyo)文件,在 PHP 中有 Zend Optimizer 和 PHP bytecode Compiler,在 Perl 中有 B::Bytecode
在服务器大小上,没有“通过网络传输”,(源)文件只是从磁盘读取,因此在这方面性能差异要小得多;主要的性能提升来自加速解析。
【讨论】: