深度探讨 PHP 之性能
2.6结论
关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合WEB开发,但性能低下。PHP的性能是否真的就 如同大家的感觉一样的差呢?本文就是围绕这么一个话题来进行探讨的。从源码、应用场景、基准性能、对比分析等几个方面深入分析PHP之性能问题,并通过真 实的数据来说话。
总所周知,PHP是一种弱变量类型的语言,所以在PHP内部,所有的PHP变量都对应成一种类型Zval,其中具体定义如下:
PHP的运行阶段也分成三个阶段:
$objAction = new indexAction();
图一PHP变量
采用bingo2的代码自动生成工具产生标准的测试PHP模块:test。
Parse。语法分析阶段。
这个时候就不得不谈PHP动态语言的特性所带来的性能问题了,由于PHP是动态运行时,所以所有的变量、函数、对象调用、作用域实现等等都是在执行 阶段中才确定的。这个从根本上决定了PHP性能中很难改变的一些东西:在C/C++等能够在静态编译阶段确定的变量、函数,在PHP中需要在动态运行中确 定,也就决定了PHP中间码不能直接运行而需要运行在Zend Engine上。
3.3裸PHP框架性能
Uname -a $objAction->init(); LOG初始化&Notice日志打印。所以的UI请求都一条标准的日志。 时间校正。 nginx version: nginx/0.8.54 built by gcc 3.4.5 20051201 (Red Hat 3.4.5-2) 通过压力工具测试结果如下: 该代码的执行结果就是在变量符号栈(是一个hashtable)中新增一个项 Copyright (c) 1997-2008 The PHP Group 具体的基准性能有以下几个方面: 3.1环境说明 从上面的几个分析来看,PHP在内存管理、变量、函数、运行机制等几个方面都做了大量的工作,所以从原理来看,PHP不应该存在性能问题,性能至少也应该和Java比较接近。 在内部展开后就会是一个函数 错误处理。 压力测试结果如下: Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies