Если вы хотите лучше понять, где именно находятся задержки, попробуйте реализовать ведение журнала объектов, вызывающих замедление. В частности, зарегистрируйте событие PipelineComponentTime
, которое указывает, сколько времени занимает каждый компонент в определенной фазе. Если вы хотите отслеживать время между остановкой задачи и следующей запуском, попробуйте посмотреть на это событие для фаз PrimeOutput
и PostExecute
первой задачи, а также для PreExecute
и ProcessInput
, и фазы и последующий компонент. Не глядя на ваш пакет, я подозреваю, что большую часть времени проводит в фазе PrimeOutput
, и вы захотите сосредоточиться на этом.