mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-25 19:15:51 +03:00
cb562d73aa
When a lot of locks are waiting for a single lock, notifying all locks independently with `call_later` on each release is really costly and incurs some kind of async contention, where the CPU is spinning a lot for not much. The included test is taking around 30s before the change, and 0.5s after. It was found following failing tests with https://github.com/element-hq/synapse/pull/16827.
1 line
95 B
Text
1 line
95 B
Text
Improve lock performance when a lot of locks are all waiting for a single lock to be released.
|