辛星一起了解下后续PHP性能功能

辛星一起了解下后续PHP性能功能

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

      关于第一个发言,这篇文章是我的原创。但,这些数据不被总结出来我,你可以搜索下“百度project师HDK”,这些数据提供了他,我只是给一个总结。因为他很长的文章,我在这里提炼几点。

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

     在PHP中,用户通过PHP实现的自己定义函数和内置函数有全然不同的实现机制,Zend在运行的时候,假设发现调用的是内置函数,仅仅是做一个转发操作,内置函数在编译后会展开成一个zif_xxx的函数,而对于内置函数的操作,zend实现的是浅拷贝,其效率和C差点儿相同,很给力。假设是用户自己定义的函数,则用户函数的调用终于是解析一堆的opcode。

用户自己定义空函数的运行速率大约是280w/s,即每秒能够运行二百八十万次,而内置函数则达到了780w/s,差点儿相同是用户自己定义函数的三倍。

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

辛星一起了解下后续PHP性能功能

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

辛星一起了解下后续PHP性能功能

这张图片是用户定义的函数直接调用内置函数,性能仅仅是一个简单的测试两种功能,的很好理解。不同类型的非常大的功能之间的区别效率。

  当然,他还测试了一些PHP一些职能的效率。我直接这些东西过滤掉,我并不觉得特别有意义。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117875.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java字符串分割方法.split()的详细用法「建议收藏」

    java字符串分割方法.split()的详细用法「建议收藏」先看看它在java包中的JavaAPI是:java.lang.String方法总结 (1)按指定普通字符分割: java代码如下: Stringstring=”123@456@789″; Stringarray[]=string.split(“@”);//以@分割 for(Strings:array) System.out.println(s); 运行结果: 123 456 789 (2).

    2022年6月22日
    31
  • PCL 平面点云B样条曲线拟合

    PCL 平面点云B样条曲线拟合平面点云B样条曲线拟合

    2022年6月18日
    38
  • 静态变量与动态变量

    静态变量与动态变量0.静态存储与动态存储1)静态存储变量通常是在变量定义时就分定存储单元并一直保持不变,直至整个程序结束。静态变量,全局动态变量都是静态存储2)动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放3)静态存储变量是一直存在的,而动态存储变量则时而存在时而消失。通常把由于变量存储方式不同而产生的特性称为变量的生存期4)静态存储只会初始化一次 摘自于:百度百科…

    2022年5月25日
    29
  • CefSharp 与 js 相互调用「建议收藏」

    CefSharp 与 js 相互调用「建议收藏」CefSharp与js相互调用一.CefSharp调用jsCefSharp.WinForms.ChromiumWebBrowserwb;…方式1.ExecuteScriptAsync方法使用方式与js的eval方法一样,异步执行,无返回值。//xxx为js的方法名称wb.ExecuteScriptAsync(“xx

    2022年9月19日
    1
  • java一维数组、二维数组初始化

    java一维数组、二维数组初始化版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。…

    2022年5月26日
    32
  • Android P 新特性抢先看[通俗易懂]

          上周的世界移动通信大会上,我们看到了安卓开发者,设备生产者和芯片合作者组成的安卓生态系统不断的给用户代码惊喜的体验。      新特性下面就来看看AndroidP第一个预览版的一些很酷的特性。      1,Wi-Fi室内定位      精确的室内定位一直以来都是一个挑战,它给lbs创造了新的机遇。AndroidP支持了IEEE802.11mcWi-Fi协议,…

    2022年4月14日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号