百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> 分享4个提高足天性能的PHP技巧
分享文章到:

分享4个提高足天性能的PHP技巧

发布时间:09/01 来源:未知 浏览: 关键词:

4个提高足天性能的PHP技巧

平常,我使用明显的常规PHP函数编写代码来解决响应的问题。但是关于其中的一些问题,我碰到了一些替换解决方案,这些解决方案特殊提高了机能。

引荐:《PHP视频教程》

在本文中,我想介绍一些替换方案。假如您正在寻觅大概减少生产中施行时间的大概性,这将很有用。让我们看看,哪种PHP办法大概会被机能更高的办法所代替,乃至可否存在成本或折衷的问题。

1.删除反复项

您有一个包括反复项的大型数组,并且但愿删除它们,使其仅具有独一值的数组。

常规

array_unique($array);

替换

array_keys(array_flip($array));

展现

我创立了一个数组,其中包括超越400万个元素和300万个反复项。这是最好结果:

办法施行时间处置时间
array_unique787.31毫秒
array_keys array_flip434.03毫秒

替换办法在此测量中快1.8倍(44.87%)。均匀而言,速度提高了约1.5倍(30%)。权衡:这仅适用于简便的一维数组,由于array_flip用值更换了键。

2.猎取随机数组记载

您有一个很大的数组,想要从中选中一个随机值。

常规

array_rand($array);

替换

$array[mt_rand(0, count($array) - 1)];

展现

我创立了一个包括500万个元素的数组。这是最好结果:

办法施行时间处置时间
array_rand25.99微秒
mt_rand0.95微秒

替换办法是此测量速度快27.3倍(96.33%)。均匀而言,速度提高了约8倍(87%)。这个结果特殊令人惊奇,由于mt_randMersenne Twister随机数生成器的实现也是如此,并且自PHP 7.1起,内部随机化算法已更换为使用完全雷同的算法。

3.测试字母数字字符

您有一个字符串,要测试,假如它仅包括字母数字字符。

常规

preg_match('/^[a-zA-Z0-9]+$/', $string);

替换

ctype_alnum($string);

展现

我创立了一个包括100k以上字母数字和非字母数字字符串的数组。这是最好结果:

办法施行时间处置时间
preg_match15.39毫秒
ctype_alnum2.06毫秒

在此测量中,替换办法快了7.5倍(86.59%)。均匀而言,速度提高了约4倍(76%)。可以将雷同的内容利用于ctype_alpha()(检查字母字符)和ctype_digit()(检查数字字符)。

4.更换子字符串

您有一个字符串,想要用另一个子字符串更换它的一部分。

常规

str_replace('a', 'b', $string);

替换

strtr($string, 'a', 'b');

展现

我创立了一个包括500万个随机字符串的数组。这是最好结果:

办法施行时间处置时间
str_replace676.59毫秒
strtr305.59毫秒

另一种办法是2.2倍(54.83%)在该测量更快。均匀而言,速度提高了约2倍(51%)。


其他机能改善

这是我整合到我的编码约定中的一些其他要点,发明它们可以轻微改善机能(假如适用):

  • 首选JSON比XML
  • 在轮回此前而不是在轮回的每个迭代中声明变量
  • 幸免在轮回头中停止函数调取(在每次迭代中均for ($i=0; $i<count($array); $i)count()get中调取)
  • 重置内存耗损变量
  • 优先选中select语句而不是多个if语句
  • 优先于require / include而不是require_once / include_once(确保恰当的操纵码缓存)

最后几句话:我知道有关过早优化的计议。我赞成生产中的机能取决于瓶颈,例如数据库查询,在处置机能时应重点关注。但是我认为,假如有更快的替换办法,例如在正则表达式更易于处置和保护的状况下,为什么不使用它们呢?

最后

我们已经看到,即便使用当前的PHP 7.4(已经比之前的PHP版本快许多),也可以通过其他办法来提高足天性能。假如您想亲自验证本文中供给的数据,我创立了一个包括所有测试的储备库:

devmount / faster-php

测试提高 PHP 足天性能的不一样办法

我使用了Bart van Hoekelen的杰出工具来衡量施行时间。

转载自:Andreas

以上就是分享4个提高足天性能的PHP技巧的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板