Каждый поток работает с сетью посредством urllib
Накапливает информацию, хранит, отправляет.
1 поток - один работающий объект. Иного не дано.
Соответственно, увеличение числа потоков - увеличивает производительность.
если уменьшить каждому размер стека: threading.stack_size( 32768 )
а к чему именно это приводит, можно попроще? потоку выделяется меньше памяти? не чревато ли это вылетом потока при нехватке этой самой памяти?
Используйте Stackless и запускайте мириады потоков....
я к сожалению не знаком со stackless
если вы знакомы, ответьте пожалуйста на вопрос - сильно ли код микропотоков стеклесс отличается от потоков Concurrent?
и что мне даст переход на него?
на данный момент кол-во моих потоков ограничено тем узким местом, что каждый поток ломится в БД sqlite самостоятельно, а не через queue
Когда я это перепишу, возможно наткнусь на какие-то иные лимиты, но они мне пока неизвестны.