Runner.respond uses a join call of the whole buffer + the new content. We execute pytest over invoke and it can happen, that the pytest output is several hundred MB big. For each line of these, the join is executed leading to a slower and slower processing. For reference, 300MB takes about 2h to process.
Recommendation: as the join is only needed if watchers are used, it can be avoided if no watchers are attached
Runner.respond uses a join call of the whole buffer + the new content. We execute pytest over invoke and it can happen, that the pytest output is several hundred MB big. For each line of these, the join is executed leading to a slower and slower processing. For reference, 300MB takes about 2h to process.
Recommendation: as the join is only needed if watchers are used, it can be avoided if no watchers are attached