Сравнительный тест на скорость - cURL vs file_get_contents()
Так или иначе web-разработчик сталкивается с вопросом загрузки информации с других сайтов.
Как-то было принято всегда пользоваться удобной и понятной функцией file_get_contents() в php. Не очень давно стал набирать обороты cURL - гибкая надстройка, которая заточена под работу с протоколом http да и не только. Теперь небольшой тестик на скорость загрузки страниц:
: |
<?php
function getPage($url)
{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:) Gecko/20070725 Firefox/");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($ch);
curl_close($ch);
return $result;
}
$start = microtime(true);
getPage("");
$end = microtime(true);
echo $end-$start.'<br />';
$start = microtime(true);
file_get_contents("");
$end = microtime(true);
echo $end-$start.'<br />';
?>
|
Результаты:
Вот так вот - cURL в четыре раза быстрее.
Но есть и исключения, например, на совсем простеньких страничках cURL уступает. Но с этим можно жить, я думаю.