bzzzzzz не поверите, но на nix проверил 200 сайтов всего за 20 секунд. До этого запускал на винде.
Интересно, почему так? Какие-то внутренние блокировки (антивирус..) хотя странно.
Но рабочий код, в данный момент изучаю его.
Огромное спасибо.
bzzzzzz огромное спасибо за код и разъяснения.
Но, протестировал его, 200 сайтов из них 83 битых => 230 секунд. И как только битые, то сразу чувствуется как падает скорость и вывод по ощущения в один поток. Сейчас попробую на другой ос, но сомневаюсь, что в этом дело.
SlivTime спасибо, но версия 2.7, может перепишу на 3.3, либо попробую обойти GIL, правда пока этот вариант изучил только в теории, с использованием доп. модулей.
Kir --- сомневаюсь
пример: 200 доменов (рабочих) = время выполнения 17 секунд. без блокировок, все хорошо.
Если 50 из них несуществующие, то время выполнения составляет около 160 секунд.
Вот такие дела.
А считывание идет и там и там с общего файла => не из-за него. тут с requestom что-то. Пробовал использовать и другие средства HTTPConnect... тоже возникает блокировка.
Станислав Фатеев пробовал выставлять таймаут 1 сек. и 60 сек, но разница буквально на секунд 7 между первым и втроым вариантом, т.е. не сильно значительно.
Читал, пробовал Py_BEGIN_ALLOW_THREADS, но ругается, что not defined.
Буду дальше копать )
Я с Вами полностью согласен, хотел решить вопрос с блокировкой, потом уже переписать как можно меньше I\O операций. (сейчас это г.код) =)
Про GIL - интересно. Получается он блокирует параллельную работу потоков, только тогда, когда возможен конфликт между потоками.
В моем случае, блокирует когда домен не найден, только не могу понять, почему именно. какой конфликт там возникает.
Пока решения не нашел, пойду дальше изучать работу GIL.
За подсказку спасибо )
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Интересно, почему так? Какие-то внутренние блокировки (антивирус..) хотя странно.
Но рабочий код, в данный момент изучаю его.
Огромное спасибо.