rat*_*oss 6 javascript php google-chrome-devtools
我有一个PHP脚本由JS通过JQuery加载$.ajax.我使用以下方法测量了PHP脚本的执行时间:
$start = microtime(); // top most part of code
// all other processes that includes AES decryption
$end = microtime(); // bottom part of code
file_put_contents('LOG.TXT','TIME IT TOOK: '.($end-$start)."\n",FILE_APPEND);
Run Code Online (Sandbox Code Playgroud)
它的测量时间不到1秒.没有prepend/append PHP脚本.
在JS $.ajax代码中,我通过以下方式测量了执行时间:
success: function(response) {
console.log(date('g:i:s a') + ' time received\n');
// all other processes including AES decryption
console.log(date('g:i:s a') + ' time processed\n');
}
Run Code Online (Sandbox Code Playgroud)
收到的时间和处理的时间相同.
但是,当我查看Chrome开发者工具时,它声称PHP脚本加载了大约8秒钟.
我如何测量这些东西可能有什么问题?我确定PHP的加载速度很快,但是Chrome报告说它花了8秒多的时间?
我正在使用localhost,我的网络服务器很快,这是我遇到这个问题的唯一一次.所有其他AJAX调用都很快.
在 PHP 部分中,确保您使用的是microtime(true)浮点数而不是字符串。对字符串使用减法可能会产生不正确的结果。
示例: http: //ideone.com/FWkjF2
<?php
// Wrong
$start = microtime();
sleep(3);
$stop = microtime();
echo ($stop - $start) . PHP_EOL; // Prints 8.000000000008E-5
// Correct
$start = microtime(true);
sleep(3);
$stop = microtime(true);
echo ($stop - $start) . PHP_EOL; // Prints 3.0000791549683
?>
Run Code Online (Sandbox Code Playgroud)