关于file_get_contents和curl拓展的效率问题

2022-08-30 11:21:37 浏览数 (1)

前因后果

昨天在写《利用Api获取必应的每日一图》的时候就在想,file_get_contentscurl拓展到底哪个效率更高一点,可能有的人会在想,我为什么要研究这个问题,这一切的一切都要从一个人吃了一只蝙蝠说起...

说干就干

既然想到了,就要来研究,大概思路我都想好了,先计算出file_get_contentscurl拓展运行时间,在比较,不就可以看出来效率问题了么。至于这个消耗的内存,这不在我的考虑范围之内。 新建一个php,我们先写一个获取时间的函数,因为php获取的时间戳是秒级的,我们需要的是毫秒级。

代码语言:javascript复制
//获取毫秒时间戳
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

0 人点赞