前因后果
昨天在写《利用Api获取必应的每日一图》的时候就在想,file_get_contents
和curl拓展
到底哪个效率更高一点,可能有的人会在想,我为什么要研究这个问题,这一切的一切都要从一个人吃了一只蝙蝠说起...
说干就干
既然想到了,就要来研究,大概思路我都想好了,先计算出file_get_contents
和curl拓展
运行时间,在比较,不就可以看出来效率问题了么。至于这个消耗的内存,这不在我的考虑范围之内。
新建一个php,我们先写一个获取时间的函数,因为php获取的时间戳是秒级的,我们需要的是毫秒级。
//获取毫秒时间戳
function get_time() {
list($s1, $s2) = explode(' ', microtime());
return (float)sprintf('%.0f', (floatval($s1) floatval($s2)) * 1000);
}
然后在计算file_get_contents和curl拓展的运行时间
代码语言:javascript复制$a = get_time();
file_get_contents("http://www.moleft.cn");
$b = get_time();
echo "使用file_get_contents用时:".($b-$a)."毫秒<br>";
$c = get_time();
get_curl("http://www.moleft.cn");
$d = get_time();
echo "使用curl用时:".($d-$c)."毫秒";
然后我们来访问一下,看看得到的结果。但是我感觉一次两次说明不了什么,所以我们多做几次试验。
试验结果
试验次数 | file_get_contents | curl拓展 |
---|---|---|
第一次 | 135毫秒 | 124毫秒 |
第二次 | 137毫秒 | 39毫秒 |
第三次 | 87毫秒 | 77毫秒 |
第四次 | 88毫秒 | 68毫秒 |
第五次 | 208毫秒 | 69毫秒 |
第六次 | 58毫秒 | 71毫秒 |
第七次 | 55毫秒 | 128毫秒 |
第八次 | 132毫秒 | 37毫秒 |
第九次 | 110毫秒 | 100毫秒 |
第十次 | 131毫秒 | 85毫秒 |
分析结果
为什么我感觉这篇文章写成了物理实验报告,emmmmm,这就涉及到我的知识盲区了。其实综合实验结果来看,file_get_contents和curl拓展
的数据起伏很大,不知道是不是我的实验方法有错,反正看起来curl拓展更胜一筹吧。
如果嫌麻烦可以用file_get_contents
,然后如果服务器没有OpenSSL
或者追求更好的体验可以用curl拓展
。
结尾的话
我太棒了,又水了一篇文章~
如无特殊说明《关于file_get_contents和curl拓展的效率问题》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-60.html