3 ms·
I've been a user of this client for quite some time, and I've always had to use it with a light touch. Click one thing, wait until done, click another thing. Ba
by jconley 11y ago
I've been a user of this client for quite some time, and I've always had to use it with a light touch. Click one thing, wait until done, click another thing. Basically serializing things myself, because even though the UI allowed the input, the state of things would get really screwed up if you did things concurrently.
If concurrency control in a multi-threaded, multi-process, app is a premature optimization, well, wow.
At the end of the article the author states: "Before these changes, GitHub Desktop suffered from race conditions as units of work would become interleaved in error.
Since implementing the concurrent/exclusive locks we have seen an improvement in stability and performance. "
Sounds like they used to just let the client spin up multiple concurrent operations fairly willy-nilly.