|
|
1
159
PHP被编译成字节码,然后在类似VM的东西上进行解释。许多其他脚本语言遵循相同的一般过程,包括Perl和Ruby。它不是一种传统的解释性语言,比如说,BASIC。 如果您试图“缩小”源,则不会有效提高速度。使用 bytecode cache like APC Facebook推出了一个名为 HipHop 它将PHP源转换为C++代码。Rasmus Lerdorf,一个大的PHP家伙 presentation for Digg earlier this year Facebook最近也发布了 HHVM ,一种基于他们制作嘻哈音乐的新虚拟机。这仍然是相当新的,尚不清楚它是否会给公众带来重大的业绩提升。 为了确保清楚地说明,请阅读 that presentation xdebug 和 xhprof ,也来自Facebook。 |
|
|
3
3
通过一些重写(较短的变量名),您可以节省一些字节的内存,但这也非常重要。
|
|
|
4
3
这与其说是一个回答,不如说是一个广告。我正在开发一个PHP扩展,它将Zend操作码转换为在具有静态类型的VM上运行。它不会加速任意PHP代码。它确实允许您编写比常规PHP允许的运行速度更快的代码。这里的关键是静态输入。在现代CPU上,动态语言会左右地吃掉分支预测失误的惩罚。PHP数组是散列表这一事实也带来了高昂的成本:大量的分支预测失误、缓存使用效率低下、内存预取不良以及没有SIMD优化。分支预测失误和缓存未命中是当今处理器的致命弱点。我的小虚拟机通过使用静态类型和C数组而不是哈希表来回避这些问题。结果运行速度提高了大约10倍。这是使用字节码解释。扩展可以选择通过gcc编译函数。那样的话,你的速度会提高两到五倍。
https://github.com/chung-leong/qb/wiki 同样,扩展不是一个普通的PHP加速器。你必须为它编写特定的代码。 |
|
|
5
1
有PHP编译器。。。看见 this previous question 简单的操作码缓存将为您带来更多的好处。或者分析代码以确定瓶颈,然后优化它。 |
|
|
6
1
|
|
|
7
1
是的,有一点(非技术性的)。
缩小和丑化php的一个原因可能是间谍保护。我认为丑陋的代码应该是自动部署的一个步骤。 |
|
|
Rishab Prasad · 为什么DBCPConnectionPool服务中的ExpressionLanguageScope仅限于“VARIABLE\u REGISTRY”,而不限于“FLOWFILE\u ATTRIBUTES”? 8 年前 |
|
|
Shankar · 如何缩小谷歌字体CSS 8 年前 |
|
|
Lukas · 未能缩小此文件中的代码 8 年前 |
|
Praveen D · AngularJS缩小的js文件无法工作 9 年前 |
|
|
user1871869 · Gulp正在恢复我的所有更改? 10 年前 |