php – microtime()的准确度如何?
发布时间:2020-12-13 16:51:52 所属栏目:PHP教程 来源:网络整理
导读:我正在测试我的 PHP代码,试着看看哪种编码方法导致最快的执行.我想最终测试我需要测试的所有PHP代码,以尝试创建我能够执行的最快速执行的代码.我从我的主页上的一个简单示例开始,使用microtime()记录执行INSERT语句之前的时间和执行后的时间,然后按如下方式
我正在测试我的
PHP代码,试着看看哪种编码方法导致最快的执行.我想最终测试我需要测试的所有PHP代码,以尝试创建我能够执行的最快速执行的代码.我从我的主页上的一个简单示例开始,使用microtime()记录执行INSERT语句之前的时间和执行后的时间,然后按如下方式回显差异:
//Lots of code $microtime1 = microtime(); $sql1=("INSERT INTO Table (value1,value2,value3,value4,value5,value6,value7) VALUES ('$value1','$value2','$value3','$value4','$value5','$value6','value7' )"); if (mysqli_query($sql1)) { $microtime2 = microtime(); $Difference = $microtime2 - $microtime1; echo "<SCRIPT> alert('$Difference'); location = 'home.php'; </SCRIPT>"; } else { $message = 'The site is having some technical difficulties. Please try again!"; echo "<SCRIPT> alert('$message'); location = 'home.php'; </SCRIPT>"; } //More code 超过10次试验,我通过在相同的输入文本框中输入相同的3个字母的字符串(‘ddd’)并点击相同的按钮(除了我之外没有其他用户登录)来启动此查询,每次记录$差异.我对数据中存在多少差异感到惊讶.对于这10个试验,$Difference的标准偏差是$Difference平均值的40%.有没有更好的方法来做到这一点,我不知道?或者我是否必须为每个函数执行10-20次试验才能获得可用的其他代码的差值$mean? 解决方法
你在说什么是剖析.虽然可以“滚动你自己”,(并且你在这方面走的正确),但是有很多有用的东西会为你做繁重的工作.
如果你愿意,你可以随时做你建议的事情并通过循环测试的多次迭代来消除偏差,但是如果你想要全面分析你的所有PHP我推荐这个问题的“xdebug”答案:Simplest way to profile a PHP script 它对我很有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |