LINUX.ORG.RU
Ответ на: комментарий от WitcherGeralt

почему бесполезно? ну если на одноядерном процессоре... при парсинге сайтов больше 50 потоков никакого прироста производительности не давало. Там простой шаблон обработки:

class Worker(Thread):
  ...
  def run(self):
    while not self.q.empty():
      try:
        data = self.q.get()
      ...

Никаких дидлоков никогда не было. Вообще читаю вас и складывается впечатление, что вы толи рукожопы толи клинические придурки.

tz4678 ()
Ответ на: комментарий от tz4678

я столько этих ботов написал для парсинга сайтов

причем тут твои говноботы для «парсинга»? как это соотносится с твоим утверждением «GIL тебе никак не мешает»? откуда ты знаешь какие задачи человек решает? я тебе ясно дал понять и выше объяснил, что к чему.

т.е. макака «парсила сайт» и теперь с наглой рожей самоуверенно заявляет:

GIL тебе никак не мешает
Освой Python @ не пиши куйню

При использовании multiprocessing GIL уже нет

тебе бы, дурак, ротик закрыть не мешало и не высовываться.

thomasbug ()
Ответ на: комментарий от tz4678

Паучки например отлично задупляются в gil как только ты начинаешь хотеть больше и сразу, ещё раньше чем сервер или сеть тебя пошлют подальше. Конечно тебе потребуется пул хороших приватных прокси. Решение разве что запустить больше питонов (тот же мультипроцессинг в принципе). Но это не сказать чтобы прямо задача, гил действительно серьёзная проблема для мультипоточных алгоритмов. Но не для гуя и десктопных.

anonymous ()

Интересно, как работает стаклес? Гил то остаётся, добавляются только зелёные треды по-сути. Но мне кажется проблема гила слишком переоценена многими, проблема не в нём, а в том, что питон адовый тормоз, и когда это накладывается на гил в многопоточном приложении, его маленькие недостатки становятся более очевидны.

anonymous ()
Ответ на: комментарий от tz4678

ну если на одноядерном процессоре... при парсинге сайтов больше 50 потоков никакого прироста производительности не давало

Не ясно, что ты хочешь сказать этим нечленораздельным бредом, но зато ясно как день, что ты идиот. Ты упомянул количество ядер, значит абсолютно не предтавляешь о чём говоришь. Количество ядер не важно, по факту «многопоточный» код на питоне на нескольких ядрах будет работать слегка медленней чем на одном.

Никаких дидлоков никогда не было

Я тебе ничего про делоки не говорил, а тот, кто говорил, говорил про «нативный код», не ясно чего он имел ввиду.

вы толи рукожопы толи клинические придурки

Рукожопы и придурки как раз таки не знают ничего кроме питона, радостно долбятся в анус костылями и отрицают очевидное.

WitcherGeralt ()
Ответ на: комментарий от anonymous

проблемы как я понял только у тсаря. но это просто жирный тролль, ему лишь бы срачь вызвать. да python мнедленный, но разве кто-то на нем пытается трехмерную графику обрабатывать? обычный скриптовый язык для веба и прикладных задач на сервере + имеет применение в качестве скриптового языка в туевой куче программ. серверу на питоне достаточно держать 1000 соединений в секунду. с этой задачей он справляется без всяких сишных расширений. если не заходить за рамки этих задач - проблем нет.

tz4678 ()
Ответ на: комментарий от tz4678

Ты путаешь сеть (которую программа должна ждать) и работу (которую программа должна делать). И при этом еще умничаешь.

Ты тупая, наглая и самоуверенная быдломакака. Не понимаешь предмета, о котром рассуждаешь.

Т.е. ты макака, которая делала http запрос -> ждала сеть -> не увидела никакого GIL -> и, внезапно, почувствовала себя экспертом.

thomasbug ()
Ответ на: комментарий от anonymous

мне кажется проблема гила слишком переоценена многими, проблема не в нём, а в том, что питон адовый тормоз

как тормоза питона связаны с его GIL? вы вообще идиоты тут все что ли?

как можно в такие рассуждения уходить, не понимая вообще о чем говоришь?

thomasbug ()
Ответ на: комментарий от tz4678

но разве кто-то на нем пытается трехмерную графику обрабатывать?

т.е. единственная задача, где процессор такие выполняет инструкции это «трехмерная графика», а весь остальной компьютинг - это хомячковские http-запросы «парсера» tz4678.

тебе надо закрыть рот. перейди к написанию второго скрипта на питоне. и да, прочитай какую-нибудь книжку вроде «компьютер для чайников» я хз, посоветовать не могу.

обычный скриптовый язык для веба
и прикладных задач на сервере
имеет применение в качестве скриптового языка в туевой куче программ

во-первых, питон это ЯП общего назначения

во-вторых, все перечисленные тобой выше применения таки подразумевают выполнение кода.

ты какой-то обосрок просто оказывается.

thomasbug ()
Ответ на: комментарий от thomasbug

ржу с клоуна. мне скорее до одного места твой gil. лучше приведи примеры, где у тебя возникли проблемы. фрагменты кода давай. потому как твоя писанина не имеет пока никакого смысла.

tz4678 ()
Ответ на: комментарий от tz4678

приведи примеры

т.е. тебе нужен пример работы, которая параллелится? ты серьезно?? да ты вообще оказывается дно. может тебе еще необходимость операции сложения в процессоре обосновать, полудурок?

и ты еще умничаешь и хамишь при этом?

где у тебя возникли проблемы

у меня никаких проблем нет.

потому как твоя писанина не имеет пока никакого смысла
фрагменты кода давай
ржу с клоуна

ничтожество, заткнись и забанься. и да: программист из тебя никогда не получится

thomasbug ()
Ответ на: комментарий от thomasbug

во-первых, питон это ЯП общего назначения

ага Java тоже язык общего назначения... а на крестах все серверы пишут

во-вторых, все перечисленные тобой выше применения таки подразумевают выполнение кода.

ко-ко-ко. во всех питоновских примерах с тредами используются очереди (извлечение, добавление, удаление элементов из которых блокирующие), но ты по-ходу аметист и 100500 глобальных объектов изменяешь без всяких блокировок да еще и в цикле... ну так можно нарваться на проблемы с gil. я хз что великому и ужасному тсарю в голову придет без галоперидола

tz4678 ()
Ответ на: комментарий от tz4678

У тебя отсутствуют базовые представления о предмете разговора. Работа - это работа процессора, т.е. любые инструкции. Минутка школы для дебила tz4678: любая строчка кода, не ведущая в ставание в ожидание ио - пример такой работы. И в питоне вся она будет конкурировть за gil.

таким образом (прочти вышесказанное еще раз пока не поймешь) работы которая параллелится - море. таким образом остальные все процессоры фактически не будут работать. экономически это провал. учитывая, что была написана корректная многопоточная програма в которой конкурентный доступ там где он есть не вызывает гонок - то это двойной экономический провал. (т.е. ты tz4678 или не ценишь свое время или не писал даже элементарных программ) любой средненький программист это знает, примеров таких задач ему не надо, потому даже пятиклассник понимает? что такое рапараллелить код чтобы утилизировать все процессоры.

но весь твой опыт сводится к чему-то дрогому, и как ты показал выше, сводится твой опыт к нулю.

но ты по-ходу аметист и 100500 глобальных объектов изменяешь без всяких блокировок да еще и в цикле...

в отличие от тебя, я программирую обладая пониманием того что я делаю и всеми средствами синхронизации доступа, блокировок в многопоточном приложении владею и использую.

ну так можно нарваться на проблемы с gil

во-вторых блокировки которые в питоне ставит программист к гилу оношения не имеют, а если и притянуть за уши то имеют ровно обратное.

thomasbug ()
Ответ на: комментарий от tz4678

одна вода и абстрактные рассуждения

Нет, это базовые вещи, которые любой программист обязан понимать и, конечно, видит на практике. Мне даже кажется странным что такие элементарные вещи приходится тебе доказывать.

Но конкретно у тебя нет ни представления об этом, ни опыта практического, поэтому для тебя всё это вода и т.п.

thomasbug ()
Ответ на: комментарий от tz4678

Асинхронность как таковую.

Ты чего оскорблениями без причины кидаешься, обезьянка? Ты сам сам сказал, что блокирующие запросы тредингом зарешиваешь, на себя обижайся.

WitcherGeralt ()
Ответ на: комментарий от thomasbug

ну мне нечего тебе ответить. при чём тут гил если речь за тормоза питона? насрать на гил, он замечательно освобождается на сишном коде.

anonymous ()
Ответ на: комментарий от anonymous

мне же интересно было бы примеры кода увидеть где можно дидлок схватить или где gil тормозит, т.е. выполнениее нескольких тредов происходит медленее чем последовательный вызов чего-то там.

tz4678 ()
Ответ на: комментарий от WitcherGeralt

я на торнадо и прочих твистедах не писал. че дальше? asyncio стандарт, то были велосипеды, причем работали они не быстрее чем традиционные серверы, которые порождают треды для обработки соединений

tz4678 ()
Ответ на: комментарий от tz4678

В случае того парсинга сайтов ты ивент-луп мог запилить даже поверх стандартного синхронного httplib.HTTPConnection вообще без проблем, просто не осилил.

WitcherGeralt ()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

да накуй он мне нужен? про eventlet я знал, но не пользовался им. я вообще не понимаю че вам двоим надо. тсарь вон пишет, что в пистоне треды не треды, гил ему мешает, а у меня куча приложений на фласке, которые эти самые треды юзают, могут обрабатывать 1000 соединений в секунду - мне другого и не надо, а тсарь пишет мол я мудак ничего не понимаю и рассказывает про какие-то дидлоки, про то что усе там тормозит и пр, а у меня все работает... у него не работает, говорю покажи писеч... код, а он не показывает, стесняется. ты еще альтернативно-одаренный с евент-лупами. ну были они сто лет как в пистоне, тому же твистеду лет 10. че это меняет?

tz4678 ()
Ответ на: комментарий от tz4678

Неосилятор ты, но альтернативно одарённый при этом я, что-то здесь не так.

тому же твистеду лет 10

Оно ещё в начале 2000-х появилось.

че это меняет?

Не меняет, просто пруфает, что ты говнокодер, неосилятор и не понимаешь о чём говоришь.

WitcherGeralt ()

Ужос-ужос...

Я всего лишь запостил просьбу накидать манов, а тут холивар развернули с реактивными говномётами ))

Тему закрыл от греха подальше.

zad1ra ()