php 自定义函数和原生函数执行效率问题

本文通过一个具体示例对比了自定义函数与原生函数在执行效率上的差异,发现对于特定任务,自定义函数可能比功能更全面的原生函数运行更快,并附带提供了测试代码与结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从网上看到的,有些时候原生函数的效率可能没有自定义的函数高

例如range函数,用它来初始化一个键值与键名相等的,且键名差值相同的数组,原生函数使用效率反而不高,

这可能是因为range函数不仅仅实现了这一种需求,这个函数还可以接受一些其他参数去执行算法,返回值

所以当我们仅需要某个功能时,可能使用自己的函数会运行更快,原生函数会经过各种判断,才能执行想要的方法(自己想的,可能不对)

例:

function ranges($step = 5, $max = 20)
{
if ($step < 1)
return array();

$array = array();
for ($i = $step; $i <= $max; $i += $step)
{
$array[$i] = $i;
}

return $array;
}


$time['begin'] = microtime(true);
//$tmp = range(0,1000000,3);
$tmp = ranges(0,1000000,3);
$time['end'] = microtime(true);


echo $time['end'] - $time['begin'].'s'."\r";
echo (memory_get_peak_usage())."M";

自定义:

7.8678131103516E-6s 0.59011840820312M

原生

0.069043874740601s 68.172889709473M

转载于:https://www.cnblogs.com/you-jia/p/4151154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值