3 ms·
I wonder how much of these results were actually due to compiler/benchmark implementation rather than operating system mechanisms. I expect file system related
by sedatk 5y ago
I wonder how much of these results were actually due to compiler/benchmark implementation rather than operating system mechanisms.
I expect file system related (not I/O) benchmarks would differ significantly in Linux' favor as we'd observed with WSL1 vs WSL2; but the rest? Are we to believe that DirectX 12, the API that’s supported by hardware vendors themselves, optimized to no end for first-class gaming, is actually slower than whatever's on Linux? (Not downplaying the significant achievements of Linux in graphics, but meagerly pointing out the fact that Windows is way ahead in graphics performance because of politics)
For example, Windows 11 loses in all Java benchmarks. Coincidentally, Oracle has great investment in Linux as a platform. Is this really a fair operating system comparison?
Similarly, GCC is optimized primarily for Linux. Windows is a second-class citizen there. It could be the same case with clang as well, I don't know. How are we supposed to be sure that compilers treat two OS's the same? Do benchmark apps get compiled with MSVC on Windows?
I think OS performance can only be compared fairly with benchmarks specifically designed to measure OS performance, not performance of a specific application per se, simply because the developers have varying priorities for optimizing their apps for a platform.
An OS benchmark could measure context switch latency, I/O latency, raw I/O throughput, certain responsiveness metrics etc, compiled with the preferred compiler of the platform.
- Too 5y agoWhat exactly is “OS performance”, if not running applications? Micro benchmarks can be compared to premature optimization. Which we all know is the root of all evil. There are lots of realistic workloads where some benchmark gives completely opposite and counter intuitive results, often due to caching and scheduling tricks.
- sedatk 5y agoI thought I already explained this. OS isn't the sole, maybe not even the main arbiter of performance when compiler and developer biases can cause a greater difference. I already explained that some scenarios (like FS) would have significant variance due to the differences in design philosophies. That doesn't have to mean that one OS is objectively worse than the other, but it could mean that they prioritize different scenarios. I don't think we have any way to tell if an OS is objectively "faster" without resorting to micro benchmarks which you're right about them not being so meaningful.
- sudosysgen 5y agoDirectX 12 is not appreciably faster than Vulkan, correct. The two APIs are low-level enough that the optimization is largely in common between both. This is evidenced both by DXVK and by games that support both DX12 and Vulkan.