3 ms·
Those benchmark numbers are slightly misleading, as they are a comparison of Wine+ntsync against Wine+nothing. There has been a somewhat fast "fsync" library bu
by bmenrigh 7mo ago
Those benchmark numbers are slightly misleading, as they are a comparison of Wine+ntsync against Wine+nothing. There has been a somewhat fast "fsync" library built around Linux's futex and the gains over Wine+fsync are modest (just a few % in most cases).
That said, Wine+ntsync is still a win, just not a 8x improvement like the Dirt 3 benchmark suggests.
(And it case it's not clear, ntsync is https://docs.kernel.org/userspace-api/ntsync.html https://docs.kernel.org/userspace-api/ntsync.html, which is a driver for Linux that offers syncronization primitives (mutex, semaphore, events) that more closely match the semantics of the Windows primitives. It's easier to do a direct implementation in Wine to support code compiled for Windows that expects to be talking to an NT kernel.)
- creesch 7mo ago> There has been a somewhat fast "fsync" library built around Linux's futex The article actually goes into that in quite a bit of detail about that.
- bmenrigh 7mo agoYeah but to the commenter I was replying to, I don't think it was clear that detail was relevant to the benchmark numbers they were quoting.
- torginus 7mo agoDo they have any other usecase behind Wine? My guess would be MS SQL server, but is that correct?
- ElectricalUnion 7mo agoStarting with SQL Server 2017, native Linux support exists. Probably because of Azure.
- qalmakka 7mo agoIronically, SQL Server AFAIK in order to run on Linux uses what basically amounts to a Microsoft reimplementation of Wine. Which always makes me wonder if they'll ever get rid of Windows altogether someday in favour of using Linux + a Win32 shim. I think there are still somewhat strong incentives nowadays to keep NT around, but I wouldn't be that surprised it this happened sometime down the line.
- sirjaz 7mo agoIt's a Windows container. It runs the NT kernel and a few minimal other things. The closest would be the Nano Server container
- qalmakka 7mo agoAFAIK it's more like a reimplementation of NT APIs in userspace - aka basically Wine with extra steps, or Linux UM. There was a slide deck going around about Project Drawbridge, here: https://threedots.ovh/slides/Drawbridge.pdf https://threedots.ovh/slides/Drawbridge.pdf
- Levitating 7mo agoThough like the article mentions, fsync doesn't work out of the box (requiring kernel patches).