10 февраля 2008
Недавно наша команда разработчиков столкнулась с ситуацией, в которой необходимо было получать определенные данные от API одного сайта и обрабатывать их нашим скриптом, причем чем быстрее, тем лучше. Соответственно, нужно было получать содержимое страницы по HTTP-протоколу.
В таких случаях, как правило, используется популярная функция file_get_contents(), однако практика показала, что эта функция выполняется слишком долго. Поэтому мы решили сравнить несколько различных методов чтения содержимого страницы по их производительности. Каждый метод тестировался на адресе http://gruzinfo.su/distanceFormCompr.htm (2323 байта) трижды: при одном, ста и тысяче обращений к странице. В качестве результатов указано среднее время выполнения метода.
file_get_contents()
Самый простой в использовании метод: одна функция, один параметр:
[code] for ($i = 0; $i < 1000; $i++) { file_get_contents($url); }[/code]
Однако, эта простота не обходится бесплатно. Вот результаты выполнения тестирования производительности данного метода:
1 | 100 | 1000 |
0,126 сек. | 11,78 сек. | 110,657 сек. |
-
Звоните!
+7 (812) 318-40-34 +7 (499) 288-16-43
+7 (499) 288-15-30 -
Пишите!
info@webering.ru -
Приезжайте!
-
г. Санкт-Петербург, ул. Седова, д. 11, лит. А, оф. 642 БЦ «Эврика» г. Москва, ул. Бутлерова, д. 17, оф. 5115 БЦ «NEO GEO»
-
Наш офис расположен в 5 минутах от станции метро «Елизаровская» в бизнес-центре «Эврика».