4 ms·
My favorite example of this is to look at all the hoops Wine has to jump through to get decent performance for locks. Apparently many developers writing for Win
by wtallis 2y ago
My favorite example of this is to look at all the hoops Wine has to jump through to get decent performance for locks. Apparently many developers writing for Windows default to using a locking primitive that can wait for a list of locks (specified by handles), and those locks can be shared between processes. That primitive frequently gets used even for waiting on a single lock confined within a single process, but Wine usually still has to go through the incredibly expensive emulation to handle the general case.
- tomnipotent 2y agoThe NTSYNC driver lands this month with Linux 6.14. I've been following the Wine MR the last few weeks eagerly waiting for it. Especially for Nvidia users this should help close some of the performance gap between Windows/Linux while the GPU drivers catch up. https://gitlab.winehq.org/wine/wine/-/merge_requests/7226 https://gitlab.winehq.org/wine/wine/-/merge_requests/7226
- robocat 2y ago> and those locks can be shared between processes. That primitive frequently gets used even for waiting on a single lock confined within a single process And why not use a cheap primitive and if a lock is detected to be shared between multiple processes then upgrade it to the "expensive emulation"?