mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-07 19:00:16 +02:00
The previous `ForkableSharedMutex` using `std::shared_mutex` was showing up as significant CPU time on arm64ec. In particular it was showing up upwards of 700ms/S of CPU time for read-contented workloads at only ~2700 locks per second. The libc++ implementation for arm64ec must be particularly gnarly for this to be so slow. With this swapped over, it's now only spending around 56ms/S on the contended shared lock, but at ~8000 locks per second. So a significant uplift.