下载后可任意编辑PHP 的性能测试全过程分享关于 PHP,很多人的直观感觉是 PHP 是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合 WEB 开发,但性能低下
PHP 的性能是否真的就如同大家的感觉一样的差呢
本文就是围绕这么一个话题来进行探讨的
从源码、应用场景、基准性能、对比分析等几个方面深化分析 PHP 之性能问题,并通过真实的数据来说话
步骤/方法2
从原理分析 PHP 性能 从原理分析 PHP 的性能,主要从以下几个方面:内存管理、变量、函数、运行机制来进行分析
1 内存管理 类似 Nginx 的内存管理方式,PHP 在内部也是基于内存池,并且引入内存池的生命周期概念
在内存池方面,PHP 对 PHP 脚本和扩展的所有内存相关操作都进行了托管
对大内存和小内存的管理采纳了不同的实现方式和优化,在内存分配和回收的生命周期内,PHP 采纳一次初始化申请+动态扩容+内存标识回收机制,并且在每次请求结束后直接对内存池进行重新 mask
2 变量 总所周知,PHP 是一种弱变量类型的语言,所以在 PHP 内部,所有的 PHP 变量都对应成一种类型 Zval,其中具体定义如下: 在变量方面,PHP 做了大量的优化工作,比如说 Reference counting 和 copy on writer 机制
这样能够保证内存使用上的优化,并且减少内存拷贝次数
在数组方面,PHP 内部采纳高效的 hashtable 来实现
3 函数 在 PHP 内部,所有的 PHP 函数都回转化成内部的一个函数指针
比如说扩展中函数ZEND_FUNCTION ( my_function );//类似 function my_function(){}void zif_my_function ( INTERNAL_FUNCTION_PARAMETERS );void zif