Comment by Animats

18 hours ago

There's been real progress. Wine's memory allocator had an architecture with three nested locks. "Realloc" held a futex lock on the memory allocator while recopying the buffer. Multiple threads doing allocation could go into futex congestion, with many threads looping on the futex. This made Vec::push in Rust insanely inefficient. Some of my programs dropped from 60FPS to about 0.5 FPS.

Fixed in Wine 11.0. Thanks to the Wine team.

Not sure if this was related to NTSYNC, but Wine's locking infrastructure definitely got an overhaul.