是否应该在生产中缩小服务器代码?

时间:2011-07-25 01:24:26

标签: php python ruby perl node.js

说到前端代码,你总是在生产中缩小它(删除空格,注释等)。

是否应该对服务器代码执行相同的操作?我的服务器文件中通常有很多注释。但我从来没有听说过人们会这样做。

如果以相同的方式优化代码,服务器是否会运行得更快?

4 个答案:

答案 0 :(得分:65)

当服务器端代码转换为机器代码(或解释)时,空格和所有格式都会丢失,因此不会有任何改进。它也不是通过线路发送的,它是从本地文件系统读取的,所以虽然字符较少会导致更快的启动,但从长远来看它不会有任何差别,启动速度增益将是微不足道的(甚至不明显)

所以,不,缩小你的服务器端代码基本没用,更糟糕的是,它可能会使堆栈跟踪完全无用,因为在同一行中会有很多代码(并且不一定具有相同的格式你使用)。

答案 1 :(得分:17)

我认为缩小更多地与减少线路上的字节数相比,而不是运行时效率。

答案 2 :(得分:6)

我不相信这会给服务器端代码带来任何好处,因为服务器会评估代码并且实际上不会将其发送下来。如果您希望优化生产代码,可以考虑设置编译器缓存,例如APC for PHP

答案 3 :(得分:3)

缩小的目的是:(1)最小化通过网络传输的字节数; (2)加速解析(通过浏览器)。

服务器端的缩小等效是字节码编译。在Python中,您有"Compiled" Python.pyc.pyo)个文件,在PHP中,您有Zend OptimizerPHP bytecode Compiler,在Perl中,B::Bytecode

在服务器大小上,没有“通过网络传输”,(源)文件只是从磁盘读取,因此在这方面性能差异要小得多;主要的性能提升来自加速解析。