вообще, помогает collectgarbage("stop"), но ненадолго
Карочи, что ты тут делаешь: 1. Для каждого запроса создаёшь ТЯЖЁЛЫЙ тред. Это ужасно, чудовищно медленно. 2. После использования — не завершаешь его, он так и остаётся висеть хендлером )))
Карочи, что ты тут делаешь: 1. Для каждого запроса создаёшь ТЯЖЁЛЫЙ тред. Это ужасно, чудовищно медленно. 2. После использования — не завершаешь его, он так и остаётся висеть хендлером )))
А при наличии блокирующего — процессор начинает метаться между тяжёлыми потоками, недоделывает их, мечется на другие и тратит безумное количество времени чисто на свитчи.
Карочи, что ты тут делаешь: 1. Для каждого запроса создаёшь ТЯЖЁЛЫЙ тред. Это ужасно, чудовищно медленно. 2. После использования — не завершаешь его, он так и остаётся висеть хендлером )))
Есть таск-шедулер встроенный в ОС. Он переключает ядро процессора между задачами. Процесс переключения — довольно медленный (много наносекунд, ибо запоминание, свитч стека/кеша и ещё много чего).