Phoronix websiteReleasePerformance benchmarks for windows, WSL, and Linux. The test contents include network performance, I / O performance, programming language performance and graphics processing performance.All operating systems and WSL instances are tested in their off the shelf configurations, all of which areUsing the Phoenix test suite。
The system version tested is:
Ubuntu 18.04.3 LTS
Windows 10 18362
Windows 10 18362 WSL
Windows 10 19008 WSL
Windows 10 19008 WSL2
Windows 10 19008
All windows / Linux WSL performance benchmarks are based on the following hardware environments:
MSI x299 SLI plus motherboard
Intel Core i9 7960X CPU
Gigabyte radeon RX 550 graphics card
Let's look at the test results:
The bottleneck of WSL in the past is the I / O performance. Through observing the test data, we can see that wsl2 is better than WSL in I / O performance, which may be attributed to the Hyper-V VM of wsl2. But for some SQLite tests, wsl2 doesn't perform very well.
Interestingly, the performance of wsl1 / wsl2 is even better than that of windows itself in some SQLite tests (it may be because the fsync behavior upstream of SQLite is different in different platforms, or it may be because some fsync operations are not processed in the same way in WSL).
Although wsl2 provides better I / O performance than WSL, there is still room for improvement.
The performance of WSL / wsl2 is as good as that of bare metal Linux in the workload determined by CPU.
The performance test results above show that in addition to testing HTTP, the performance of golang under WSL is basically better than that of windows.
The above data shows that under the same openjdk version, windows 10 19008 seems to provide better Java performance than windows 10 18362. For WSL, the results are mixed.
It's also interesting to use Intel Embree test data here. You can see that in the case of official windows binary files, the performance of windows 10 19008 is better than that of 18362, and the performance of wsl1 is better than that of wsl2, but they are all inferior to Ubuntu.
Here, Intel SVT video encoder is used for testing. It can be seen that windows 10 19008, which belongs to windows 10 insider preview, performs well, and is comparable to Ubuntu and WSL / wsl2.
From this test, we can see that the performance of windows 10 build 19008 has been greatly improved, while the performance of WSL has not changed much.
Luxcorerender performs better in WSL / wsl2 than in windows. WSL also performs slightly better than Ubuntu.
Himeno is a relatively heavy workload. As you can see, under this test, the performance of bare metal Ubuntu is still the best.
Compared with the earlier 18362 version, windows 10 19008 shows another significant improvement: the performance of extracting files.
The test here is the code compilation performance. Due to the bottleneck of I / O, the code compilation on WSL is still very slow, while wsl2 adopts the traditional VM type method, so its speed has been improved to some extent.
As can be seen from the above figure, building llvm in WSL is faster than building llvm in windows.
The above results show the performance under different test conditions. We will not repeat them here. You can view them according to your own needs.
When using blender for testing, WSL / wsl2 is comparable to Linux, while windows 10 18362 is slightly behind.
Although a variety of tests have been performed, if you take a geometric average of all tests that run successfully on seven different operating systems, you can conclude that:
The overall performance of windows 10 build 19008 is better than that of build 18362, while the performance of WSL has not changed much
Wsl2 does perform slightly better than WSL, because it performs much better under heavy I / O or network activity workloads
In this special core i9 7960x scenario, running Ubuntu Linux is 27% faster than the fastest windows configuration
Interested friends can view this more detailedOpenbenchmarking.org result file, to further explore these windows / WSL / Linux benchmarks.