首页 > 后端开发 > php教程 > PHP 中的引用传递总是更快吗?

PHP 中的引用传递总是更快吗?

Susan Sarandon
发布: 2024-11-08 18:02:02
原创
977 人浏览过

Is Pass-by-Reference Always Faster in PHP?

PHP 中按引用传递更快吗(>=5.0)?

尽管 PHP 中按引用传递的主要目的是由于变量操作超出了函数的范围,人们可能会推测它是否也会影响性能。 PHP 采用 Copy On Write 来优化对象和数组复制,这应该消除了对保持不变的参数进行引用传递的需要。

性能比较

至为了确定性能影响,我们进行了 100,000 次函数调用的实验,并传递 20 kB 字符串作为参数。测试了两种场景:

  1. 读取/使用参数的函数
  2. 写入/修改参数的函数

结果

  • 按值传递与读取/使用参数的参考:

    • 按值传递:0.12065005 秒
    • 通过引用传递:1.52171397 秒
  • 通过值传递与写入/修改参数的引用:

    • 传递按值:1.52223396秒
    • 通过引用:1.52388787秒

结论

  1. 通过值始终比按引用传递更快。
  2. 对于修改参数值的函数,按值传递和按引用传递之间没有实际性能差异。

以上是PHP 中的引用传递总是更快吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板