Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
matchers.helpers: Revert to using multiprocessing instead of threading
Using threads here is (mostly) blocking our UI thread and I don't really understand why. Until I can figure this out, pushing us back to multiprocessing fixes our UI interactivity at a fairly minor performance penalty. Python's GIL means that throwing our comparison on to a thread doesn't actually get us real multi-CPU concurrency... but it shouldn't be causing the comparison thread to starve the main thread. It's not actually blocking either, because some UI events *do* get through while a comparison is running, just not many. My current suspicion is that this is some kind of interaction between the GIL, thread scheduling and GLib's event loop. However, that's a guess because I don't have any other explanation.
- Loading branch information