Задать вопрос
@KRHD

Что быстрей file_get_contents | Sockets | cURL?

Или есть варианты лучше чем перечисленные выше?
  • Вопрос задан
  • 1284 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
разница в пределах погрешности, все три варианта используют сокеты так или иначе и упретесь вы I/O тех самых сокетов.
Ответ написан
alekciy
@alekciy
Вёбных дел мастер
Если основная задача это получение данных по сети, то, как уже сказали выше, все равно все будет идти через сокеты. Так что скорость тут реально в пределах погрешности. Поэтому выбирать нужно исходя из удобства использования и задачи. file_get_contents с заданием контекста довольно высокоуровневый, подходит в принципе только для задачи "что-то получить из сети, таймаут на действия такой-то". Sockets напротив низкоуровневый. Позволяет очень многое, но требует хорошего понимания работы с сетью. cURL по середине. Он достаточно высокоуровневый что бы сказать ему "возьми вот этот тут" не погружаясь в тонкости установления соединения, но при этом позволяет подкручивать низкоуровневые места в случае надобности.

Т.е. принцип выбора достаточно прост: 1) нужно что-то получить из сети с возможность задать таймаут и результат "ответ получен ок"/"возникла проблема" и нужно запилить в одну строку, то file_get_contents; 2) нужно больше возможностей при установлении соединения, то cURL; 3) если точно известно, почему cURL не подходит, то начинаем использовать Sockets.
Ответ написан
Комментировать
@SerdarAD
У меня была большая разница между cURL и file_get_contents , в ~10 секунд
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы