PHP: cURL vs socket. MTS connect fail. Сохранение снов.

По работе столкнулся в очередной раз с выбором между сокетами и cURL. Сначала подумал, что cURL не рулит, т.к. нельзя скачивать данные до определенного момента, но потом все-таки нашел описание колбэк-функций и оказалось, что, пошаманив, можно добиться того, что весьма просто и давно мной делается на сокетах. И вопрос остался только в том, что же быстрее.По идее утилита и библиотека с API для доступа к ней должны работать шустрее, но тесты говорят об обратном:

cURL: 1741.242
sockets: 1277.401

cURL: 1756.502
sockets: 1105.854

cURL: 1770.027
sockets: 1091.348

Методика тестов была позаимствована из одного блога, который бал найден в процессе поиск по теме cURL vs Socket: 1000 раз загрузить главную страницу Гугла разными способами. Самое интересное, что код в том виде, как он был представлен в оригинале в блоге на боевом сервере, загруженном весьма неплохо игровым проектом sc2tv.ru, показал картинку, полностью противоположную той, что была в оригинальном сравнении. Не знаю, почему.

Я решил внимательнее глянуть в код и увидел довольно интересную ошибку — автор не закрывал в своей функции сокет. Результат мог быть еще более печальным для сокетов, не будь экономии на освобождении ресурсов. Далее я подумал, что стоило убрать конкатенацию строк из функции, т.к. выполняемая в цикле она тоже неслабо могла влиять на результат, ведь работа со строками почти всегда ведет к снижению скорости работы. В итоге был получен код [download id=»5″], который и дал приведенные выше результаты.

Вывод: сокеты быстрее cURL, если правильно их использовать.

Далее  MTS connect fail. Все просто — MTS, да и Билайн тоже при работе с 3G-модемами почему-то требуют положительный баланс на счету. Поэтому совет тем, кто почему-то использует их — не кладите деньги впритык, хотя бы 1 руб поверх. А то я так кинул только абонентку, ее-то списали, но инет не заработал, пока не докинул еще ;(

Насчет снов — на днях был забавный случай. Во сне понял, что это сон, хороший сон. Поэтому мелькнула мысль — хорошо бы его запомнить и как-нибудь попытаться «продолжить с того же места» . На утро, естественно, про сон забыл. Потом вспомнил через пару дней, но о чем был сон — не могу вспомнить и все тут ;( Сны можно программировать, в том плане, что задавать тему снов у меня получалось, сохранять наверняка тоже можно, знать бы как…

Запись опубликована в рубрике PHP, Размышления с метками , , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *