分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

php方法传值和传引用性能比较

发布时间:2023-09-06 02:17责任编辑:胡小海关键词:暂无标签

测试代码test.php:

<?phpfunction microtime_float(){ ???list($usec, $sec) = explode(" ", microtime()); ???return ((float)$usec + (float)$sec);}function a($arr) { ????$data = []; ?????foreach($arr as $var) { ???????????$data[] = $var; ?????????} ??????return $data;}function b(&$arr) { ????$data = []; ?????foreach($arr as $var) { ???????????$data[] = $var; ?????????} ??????return $data;}$arr = [ [ ?‘aaa‘ => [ ??‘aaa‘=>‘bbb‘, ??‘bbb‘=>‘bbb‘, ??‘ccc‘=>‘bbb‘, ??‘ddd‘=>‘bbb‘, ??‘eee‘=>‘bbb‘, ??‘fff‘=>‘bbb‘, ??‘add‘=>‘bbb‘, ??‘dse‘=>‘bbb‘, ??‘dad‘=>‘bbb‘, ??‘dsa‘=>‘bbb‘, ??‘das‘=>‘bbb‘, ??‘ewq‘=>‘bbb‘, ??‘qer‘=>‘bbb‘, ??‘qad‘=>‘bbb‘, ??‘asz‘=>‘bbb‘, ??‘gda‘=>‘bbb‘, ??‘abc‘=>‘bbb‘, ??‘vbv‘=>‘bbb‘, ??‘ewq‘=>‘bbb‘, ??‘tew‘=>‘bbb‘, ?], ?‘bbb‘ => [ ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>‘bbb‘, ??‘qaa‘=>[ ???????????????‘aaa‘=>‘bbb‘, ???????????????‘bbb‘=>‘bbb‘, ???????????????‘ccc‘=>‘bbb‘, ???????????????‘ddd‘=>‘bbb‘, ???????????????‘eee‘=>‘bbb‘, ???????????????‘fff‘=>‘bbb‘, ???????????????‘add‘=>‘bbb‘, ???????????????‘dse‘=>‘bbb‘, ???????????????‘dad‘=>‘bbb‘, ???????????????‘dsa‘=>‘bbb‘, ???????????????‘das‘=>‘bbb‘, ???????????????‘ewq‘=>‘bbb‘, ???????????????‘qer‘=>‘bbb‘, ???????????????‘qad‘=>‘bbb‘, ???????????????‘asz‘=>‘bbb‘, ???????????????‘gda‘=>‘bbb‘, ???????????????‘abc‘=>‘bbb‘, ???????????????‘vbv‘=>‘bbb‘, ???????????????‘ewq‘=>‘bbb‘, ???????????????‘tew‘=>[ ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>‘bbb‘, ???????????????????‘caa‘=>[ ???????????????????????‘aaa‘=>‘bbb‘, ???????????????????????‘bbb‘=>‘bbb‘, ???????????????????????‘ccc‘=>‘bbb‘, ???????????????????????‘ddd‘=>‘bbb‘, ???????????????????????‘eee‘=>‘bbb‘, ???????????????????????‘fff‘=>‘bbb‘, ???????????????????????‘add‘=>‘bbb‘, ???????????????????????‘dse‘=>‘bbb‘, ???????????????????????‘dad‘=>‘bbb‘, ???????????????????????‘dsa‘=>‘bbb‘, ???????????????????????‘das‘=>‘bbb‘, ???????????????????????‘ewq‘=>‘bbb‘, ???????????????????????‘qer‘=>‘bbb‘, ???????????????????????‘qad‘=>‘bbb‘, ???????????????????????‘asz‘=>‘bbb‘, ???????????????????????‘gda‘=>‘bbb‘, ???????????????????????‘abc‘=>‘bbb‘, ???????????????????????‘vbv‘=>‘bbb‘, ???????????????????????‘ewq‘=>‘bbb‘, ???????????????????????‘tew‘=>[ ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>‘bbb‘, ???????????????????????????‘qaa‘=>[ ???????????????????????????????‘aaa‘=>‘bbb‘, ???????????????????????????????‘bbb‘=>‘bbb‘, ???????????????????????????????‘ccc‘=>‘bbb‘, ???????????????????????????????‘ddd‘=>‘bbb‘, ???????????????????????????????‘eee‘=>‘bbb‘, ???????????????????????????????‘fff‘=>‘bbb‘, ???????????????????????????????‘add‘=>‘bbb‘, ???????????????????????????????‘dse‘=>‘bbb‘, ???????????????????????????????‘dad‘=>‘bbb‘, ???????????????????????????????‘dsa‘=>‘bbb‘, ???????????????????????????????‘das‘=>‘bbb‘, ???????????????????????????????‘ewq‘=>‘bbb‘, ???????????????????????????????‘qer‘=>‘bbb‘, ???????????????????????????????‘qad‘=>‘bbb‘, ???????????????????????????????‘asz‘=>‘bbb‘, ???????????????????????????????‘gda‘=>‘bbb‘, ???????????????????????????????‘abc‘=>‘bbb‘, ???????????????????????????????‘vbv‘=>‘bbb‘, ???????????????????????????????‘ewq‘=>‘bbb‘, ???????????????????????????????‘tew‘=>‘bbb‘, ???????????????????????????], ???????????????????????], ???????????????????], ???????????????], ???????????], ?], ???????‘ccc‘ => [ ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>‘bbb‘, ???????????‘caa‘=>[ ???????????????‘aaa‘=>‘bbb‘, ???????????????‘bbb‘=>‘bbb‘, ???????????????‘ccc‘=>‘bbb‘, ???????????????‘ddd‘=>‘bbb‘, ???????????????‘eee‘=>‘bbb‘, ???????????????‘fff‘=>‘bbb‘, ???????????????‘add‘=>‘bbb‘, ???????????????‘dse‘=>‘bbb‘, ???????????????‘dad‘=>‘bbb‘, ???????????????‘dsa‘=>‘bbb‘, ???????????????‘das‘=>‘bbb‘, ???????????????‘ewq‘=>‘bbb‘, ???????????????‘qer‘=>‘bbb‘, ???????????????‘qad‘=>‘bbb‘, ???????????????‘asz‘=>‘bbb‘, ???????????????‘gda‘=>‘bbb‘, ???????????????‘abc‘=>‘bbb‘, ???????????????‘vbv‘=>‘bbb‘, ???????????????‘ewq‘=>‘bbb‘, ???????????????‘tew‘=>[ ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>‘bbb‘, ???????????????????‘qaa‘=>[ ???????????????????????‘aaa‘=>‘bbb‘, ???????????????????????‘bbb‘=>‘bbb‘, ???????????????????????‘ccc‘=>‘bbb‘, ???????????????????????‘ddd‘=>‘bbb‘, ???????????????????????‘eee‘=>‘bbb‘, ???????????????????????‘fff‘=>‘bbb‘, ???????????????????????‘add‘=>‘bbb‘, ???????????????????????‘dse‘=>‘bbb‘, ???????????????????????‘dad‘=>‘bbb‘, ???????????????????????‘dsa‘=>‘bbb‘, ???????????????????????‘das‘=>‘bbb‘, ???????????????????????‘ewq‘=>‘bbb‘, ???????????????????????‘qer‘=>‘bbb‘, ???????????????????????‘qad‘=>‘bbb‘, ???????????????????????‘asz‘=>‘bbb‘, ???????????????????????‘gda‘=>‘bbb‘, ???????????????????????‘abc‘=>‘bbb‘, ???????????????????????‘vbv‘=>‘bbb‘, ???????????????????????‘ewq‘=>‘bbb‘, ???????????????????????‘tew‘=>‘bbb‘, ???????????????????], ???????????????], ???????????], ???????], ]];$time = microtime_float();echo ‘first start: ‘.$time."\n";//for ($i = 0 ; $i<5000000; $i++) {// ????// ?a($arr);//}a($arr);$end = microtime_float();echo ‘first end:‘.$end."\n";echo ‘value used:‘.bcsub($end , $time,4);echo "\n";echo "\n";echo "\n";$time = microtime_float();echo ‘second start:‘.$time."\n";//for ($i = 0 ; $i<5000000; $i++) {// ?b($arr);//}b($arr);$end = microtime_float();echo ‘second end:‘.$end."\n";echo ‘second used:‘.bcsub($end,$time,4);echo "\n";

测试方法:

watch -n 1 -d php test.php// 输出 first start: 1539332451.0195first end:1539332451.0197value used:0.0002second start:1539332451.0198second end:1539332451.0198second used:0.0000first start: 1539332463.6168first end:1539332463.6169value used:0.0001second start:1539332463.6169second end:1539332463.6169second used:0.0000

结论:

  • 传引用的性能要高于传值,特别是传递的值比较大的时候,性能会很明显。这是因为传引用只是复制了地址(一个16进制数)
  • 并发的瓶颈一般不会再php,而是在框架、在数据库。

php方法传值和传引用性能比较

原文地址:https://www.cnblogs.com/gelu/p/9778864.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved