У меня впереди проект, модуль которого большую часть времени будет работать с другим сервером, отправляя ему GET-запросы.
Я провел тесты, чтобы определить, какой метод будет быстрее получить страницу (в рамках предложенных технологий проекта).
Первые 3 теста: каждый метод выполнял подряд 50 запросов к одному сайту.
Поясню, что завиток — это процесс получения страницы с помощью консольной утилиты завитка в Linux. Все тесты проводились на Linux.
Был еще пятый тест — вызов curl из php через exec, но эту чушь я отбросил.
Если усреднить тесты, то получится следующий результат:
Места:
- PHP-сокет
- завиток
- Python Pycurl
- PHP Curl
- PHP-сокет
- PHP Curl
- Python Pycurl
- завиток
php честно работал быстрее во всех 4 тестах.
Результаты теста
Используйте библиотеку Curl для простых запросов GET. — это снижение скорости выполнения почти в 2 раза по сравнению с работой через сокеты.Кроме того, мы заметили, что Python с библиотекой pycurl работает немного медленнее, чем php с Curl. Возможно, тесты в чем-то предвзяты, если вы считаете, что это так, обоснуйте это в комментариях.
Код для этих тестов
Небольшая программа на языке C
Запускает программу, переданную в параметре, и измеряет время ее работы в миллисекундах.
Теги: #curl #php #socket #socket #python #pycurl #libcurl #linux #C++ #benchmark #php#include <sys/time.h> #include <stdlib.h> struct timeval tv1, tv2, dtv; struct timezone tz; //time_ functions from http://ccfit.nsu.ru/~kireev/lab1/lab1time.htm void time_start() {
-
Redhat Приобретает Ansible
19 Oct, 24 -
«Олимпийская» Команда
19 Oct, 24 -
Amd Станет Безосновательной
19 Oct, 24 -
Отчет О Путешествии По Выживанию (Эпизод I)
19 Oct, 24 -
Создание Идеальной Строки Поиска
19 Oct, 24