跟着辛星一起了解下PHP的函数的性能

php中文网
发布: 2016-06-23 13:53:15
原创
946人浏览过

      首先声明一下,这篇文章是我的原创,但是,这些数据不是我总结出来的,大家可以搜索下“百度工程师hdk”,这些数据是他提供的,我只是给一个总结,因为他那篇文章很长,我这里提炼了几点要点。

      要了解函数的性能,首先要知道函数的执行流程,它首先通过scanning被转化为语言片段(tokens),然后通过parsing为简单有意义的表达式,然后compile(编译)为Opcode,最后execute(执行)。因为PHP本身是用C去实现的,因此最终调用的都是C的函数,即PHP就是一个用C开发出来的软件。

     在PHP中,用户通过PHP实现的自定义函数和内置函数有完全不同的实现机制,Zend在执行的时候,如果发现调用的是内置函数,只是做一个转发操作,内置函数在编译后会展开成一个zif_xxx的函数,而对于内置函数的操作,zend实现的是浅拷贝,其效率和C差不多,非常给力。如果是用户自定义的函数,则用户函数的调用最终是解析一堆的opcode。用户自定义空函数的执行速率大约是280w/s,即每秒可以执行二百八十万次,而内置函数则达到了780w/s,差不多是用户自定义函数的三倍。

       不讲这些原理性的东西了,下面说一些测试结果把,函数名的长度对性能是有一些影响的,下面是他给出的数据:


阶跃星辰开放平台
阶跃星辰开放平台

阶跃星辰旗下开放平台,提供文本大模型、多模态大模型、繁星计划

阶跃星辰开放平台 0
查看详情 阶跃星辰开放平台

立即学习PHP免费学习笔记(深入)”;

   通过上表,我们发现一个长度为1的函数和长度为16的空函数调用,性能会差一倍,原因何在,就是因为函数名越长,查询需要的时间就越多,因此,函数名还是尽量短一些。


立即学习PHP免费学习笔记(深入)”;

这张图片是用户自定义的函数直接调用内置函数,只是单纯的测试两个函数的性能,很好理解把,不同类型的函数的执行效率差别很大的。

  当然他本人还测试了一些PHP的一些函数的运行效率,我直接把这些东西过滤掉了,感觉并不特别有意义。


立即学习PHP免费学习笔记(深入)”;

相关标签:
php
数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号