Everything is single threaded currently
Especially on larger repositories the performance of gitg is rather poor while one core of the CPU gets 100% utilized. So there are multiple things which could get done:
- Reduce the amount of processing (for example making some functionality optional or optimizing code).
- Changing processing to be asynchronous (so at least the user can do something while loading).
- Parallelize the workload (for example processing multiple files, searching for text or differences could be handled in multiple threads)
So adding multi-threading could benefit performance most likely without major changes to the front-end and workflow of users. This could potentially help with following issues: #1 (closed), #49 (closed), #85 (closed), #192, #204
However option 1 and 2 could help as well.