用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6938|回复: 12
收起左侧

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

[复制链接]
发表于 2011-5-25 14:04:04 | 显示全部楼层 |阅读模式
   一、前提: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)。
发表于 2011-5-25 15:25:43 | 显示全部楼层
回复 catalina 的帖子

您好厉害
发表于 2011-5-31 17:12:48 | 显示全部楼层
我会选择PHP加速器就好了, C化维护扩展麻烦, 再说了JS越来越分担更多工作
发表于 2011-5-31 17:27:31 | 显示全部楼层
现在没有到哪个层次
发表于 2011-5-31 19:58:26 | 显示全部楼层
这个挺高深的。
不过 CI 如果走 PHP 扩展的路线,就等于死路一条了。
但如果在公司或某个具体项目中,还是有优化的余地的。
发表于 2011-6-7 17:37:22 | 显示全部楼层
惠新宸(laruence) 正在维护的一个框架就是基于C扩展的

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

个人认为,过早优化是万恶之源
发表于 2011-6-10 23:19:14 | 显示全部楼层
chf007 发表于 2011-6-7 17:37
惠新宸(laruence) 正在维护的一个框架就是基于C扩展的

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

laruence 是我的偶像。。。呵呵
发表于 2011-6-11 11:52:53 | 显示全部楼层
我是来支持妹子的

话说现在还有人认为框架是瓶颈,应该普及一下
发表于 2011-6-13 16:15:17 | 显示全部楼层
术业有专攻,各自搞各自的事。
大而全的,通常都是死的最惨的!
发表于 2011-7-4 20:25:04 | 显示全部楼层
chf007 发表于 2011-6-7 17:37
惠新宸(laruence) 正在维护的一个框架就是基于C扩展的

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

过早优化是万恶之源支持~~

本版积分规则