说到前端代码,你总是在生产中缩小它(删除空格,注释等)。
是否应该对服务器代码执行相同的操作?我的服务器文件中通常有很多注释。但我从来没有听说过人们会这样做。
如果以相同的方式优化代码,服务器是否会运行得更快?
答案 0 :(得分:65)
当服务器端代码转换为机器代码(或解释)时,空格和所有格式都会丢失,因此不会有任何改进。它也不是通过线路发送的,它是从本地文件系统读取的,所以虽然字符较少会导致更快的启动,但从长远来看它不会有任何差别,启动速度增益将是微不足道的(甚至不明显)
所以,不,缩小你的服务器端代码基本没用,更糟糕的是,它可能会使堆栈跟踪完全无用,因为在同一行中会有很多代码(并且不一定具有相同的格式你使用)。
答案 1 :(得分:17)
我认为缩小更多地与减少线路上的字节数相比,而不是运行时效率。
答案 2 :(得分:6)
我不相信这会给服务器端代码带来任何好处,因为服务器会评估代码并且实际上不会将其发送下来。如果您希望优化生产代码,可以考虑设置编译器缓存,例如APC for PHP
答案 3 :(得分:3)
缩小的目的是:(1)最小化通过网络传输的字节数; (2)加速解析(通过浏览器)。
服务器端的缩小等效是字节码编译。在Python中,您有"Compiled" Python(.pyc
和.pyo
)个文件,在PHP中,您有Zend Optimizer和PHP bytecode Compiler,在Perl中,B::Bytecode
在服务器大小上,没有“通过网络传输”,(源)文件只是从磁盘读取,因此在这方面性能差异要小得多;主要的性能提升来自加速解析。