🌚

PHP大量常量应集中使用APC定义

Posted at — Apr 24, 2012
#PHP #性能 #编程

用xdebug跟踪程序性能时,发现一个定义了约七百个常量的文件,include_once()时消耗约六十毫秒的时间。事实上define()的效率比较低,如果需要定义大量常量,使用APC扩展提供的apc_define_constants()效果会好得多。

下面是对这个文件改造前后效率跟踪结果的对比:

define()方案(ms)apc_define_constants()方案(ms)
启动Web服务和PHP,第一次运行584
不重启Web服务和PHP,第二次运行651
不重启Web服务和PHP,第三次运行661

由此可见,apc_define_constants()不但在初次调用时效能就超过define(),而且由于APC自身的缓存功能,在后续调用时效率会有进一步的提高,而define()基本没有变化。

以下是apc_define_constants()的代码示例:

```php 1, 'TWO' => 2, 'THREE' => 3, ); apc_define_constants('my_constants', $constants); } ?> ```

Posted via UltraBlog.vim.