Параллельные задачи считаются в отдельных процессах
Замер подтвердил догадку: sherpa-onnx и onnxruntime держат GIL. Две задачи в двух потоках идут ровно столько же, сколько подряд (1.04x у диаризации, 1.17x у распознавания) - отсюда и незагруженный процессор при работе. В двух процессах те же задачи дают 1.59x даже с загрузкой моделей в каждом. Пул процессов включается при workers > 1. Функции воркера вынесены в модуль, не тянущий app.main: на Windows дочерний процесс поднимается через spawn и иначе стартовал бы ещё один веб-сервер. Если процессы не запустятся, сервис откатывается на однопроцессный режим. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e2db164f0b
commit
41f3651cc8
+1
-1
@@ -1 +1 @@
|
||||
__version__ = "0.4.1"
|
||||
__version__ = "0.5.0"
|
||||
|
||||
Reference in New Issue
Block a user