hidef —— 进一步提高define的性能
用apc_define_constants可以提升批量define的性能,但是每个请求,都免不了进行 读cache -> 批量define 这样一个过程,因此,这也算不上提升define性能的终极手段。
在翻看apc的手册时,无意中看到有这么一小段介绍:
For a better-performing solution, try the » hidef extension from PECL.
这里提到了一个叫hidef的扩展,看说明上的意思,应该是可以通过ini文件来批量定义常量。
Allow definition of user defined constants in simple ini files,
which are then processed like internal constants, without any
of the usual performance penalties.
hidef的使用
首先需要定义一个ini文件,里面需要定义常量的基本类型
[hidef]
float PIE = 3.14159;
int ANSWER = 42;
然后apache启动的时候,会初始化这些常量,这样就不用每个php进程来重复定义常量了。
性能真的有提升么
作者做了一个测试,用传统define和hidef分别定义了320个常量。成绩分别是
380.785 fetches/sec vs 930.783 fetches/sec
如果有安装apc的话,那么性能会有小小提升,成绩分别为
976.29 fetches/sec vs 1519.38 fetches/sec
可以看出hidef能够大大提升批量define的性能,对php的性能优化很有帮助。
BTW:这个扩展的作者是Gopal Vijayaraghavan,也就是apc的作者之一。
作者: Volcano 发表于June 4, 2008 at 6:37 am
Yimin 于 2008-06-04 @ 12:46:51 留言 :
fachebook那家伙的ppt上,也推荐这个东东。
volcano 于 2008-06-04 @ 13:48:33 留言 :
看来好东西自然有人关注啊