catalina 发表于 2011-5-25 14:04:04

关于CI是否要做将PHP转为C的优化

   一、前提:PHP转化为C是优化的一个方向,也是终极目标。
    PHP优化的终极目标是PHP转化成C/C++,从而编译成二进制应用程序。这个最终的提升效果在30%上下,但也要看具体的应用而定,如果都是IO开销,性能提升会更小。    PHP优化是目标,但不是说目前PHP的性能非常差。其实PHP综合性能还是很好的,这也是我们为什么选择PHP的原因。比如说,目前我们的C版本的UI程序,性能也在600-800QPS,但目前我们的PHP UI性能也能打到600+。
    二、我们是否将CI完全C语言化?
    目前可做的优化工作有几个方面:1、PHP语言上的优化 + opcode cache,比如说使用技巧。2、扩展。部分通用的处理采用扩展来实现。3、编译优化。
其实通过前面两个优化,在PHP方面的性能已经接近于传统的C/C++的UI了(但不是说PHP性能接近C了,主要是C/C++代码优化比较难、成本高。所以性能有下降)。
    CI框架完全扩展化,其实就是我们之前提高的优化的第二步骤:扩展。这个层次的优化有一定的提升,但未必是性价比合适的。应该扩展一个完整的框架,性能提升不会特别明显,估计在10%上下。但开发维护成本会比较高。    所以,不建议把CI框架转化成C的扩展。因为一般来说框架很难带来性能瓶颈。   但我们是否能克服这歌瓶颈?
    三、关于CI未来的考虑。
    总之,我的观点是首先考虑opcode cache和PHP语言使用上的优化,然后适当的考虑扩展化。一般来说,PHP优化做到这里就差不多了。最后,如果有极限性能要求的,可以考虑编译优化(这个需要持续投入,类似facebook)。

jeongee 发表于 2011-5-25 15:25:43

回复 catalina 的帖子

您好厉害

lynn 发表于 2011-5-31 17:12:48

我会选择PHP加速器就好了, C化维护扩展麻烦, 再说了JS越来越分担更多工作

longjianghu 发表于 2011-5-31 17:27:31

现在没有到哪个层次

Hex 发表于 2011-5-31 19:58:26

这个挺高深的。
不过 CI 如果走 PHP 扩展的路线,就等于死路一条了。
但如果在公司或某个具体项目中,还是有优化的余地的。

chf007 发表于 2011-6-7 17:37:22

惠新宸(laruence) 正在维护的一个框架就是基于C扩展的

http://code.google.com/p/yafphp/

个人认为,过早优化是万恶之源

Hex 发表于 2011-6-10 23:19:14

chf007 发表于 2011-6-7 17:37 static/image/common/back.gif
惠新宸(laruence) 正在维护的一个框架就是基于C扩展的

http://code.google.com/p/yafphp/


laruence 是我的偶像。。。呵呵

visvoy 发表于 2011-6-11 11:52:53

我是来支持妹子的:lol

话说现在还有人认为框架是瓶颈,应该普及一下

spt119 发表于 2011-6-13 16:15:17

术业有专攻,各自搞各自的事。
大而全的,通常都是死的最惨的!

longjianghu 发表于 2011-7-4 20:25:04

chf007 发表于 2011-6-7 17:37 static/image/common/back.gif
惠新宸(laruence) 正在维护的一个框架就是基于C扩展的

http://code.google.com/p/yafphp/


过早优化是万恶之源:lol支持~~
页: [1] 2
查看完整版本: 关于CI是否要做将PHP转为C的优化