测试的系统版本为:
-
Ubuntu 18.04.3 LTS
-
Ubuntu 19.10
-
Windows 10 18362
-
Windows 10 18362 WSL
-
Windows 10 19008 WSL
-
Windows 10 19008 WSL2
-
Windows 10 19008
所有的 Windows/Linux WSL 性能基准测试均基于以下硬件环境:
-
MSI X299 SLI PLUS 主板
-
Intel Core i9 7960X CPU
-
16GB 内存
-
256GB Intel NVMe SSD
-
技嘉 Radeon RX 550 显卡
![[多图]Windows、WSL 与 Linux 的性能对比](http://info.dns110.com/wp-content/uploads/2019/12/20191217_5df8498271930.png)
![]()
![]()
下面看看测试结果:
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.cnbetacdn.com/article/2019/1217/366ad01808bcf55.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.cnbetacdn.com/article/2019/1217/e7a64977f761acd.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.cnbetacdn.com/article/2019/1217/c89d6bb3b02b7ba.png)
WSL 过去存在瓶颈的地方是 I/O 性能,通过观察测试数据我们能看到,到了 WSL2,它在 I/O 性能上要优于 WSL,这或许要归功于 WSL2 的 Hyper-V VM。不过对于某些 SQLite 测试,WSL2 的表现并不算太好。
有意思的是,WSL1/WSL2 的性能表现在某些 SQLite 测试中甚至超过 Windows 本身(有可能是由于 SQLite 上游的 fsync 行为在不同平台中表现不一样,也可能是因为某些 fsync 操作未在 WSL 下进行同样的处理)。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.cnbetacdn.com/article/2019/1217/89b4d7a9415c6c8.png)
虽然 WSL2 提供了比 WSL 更好的 I/O 性能,但仍有改进的空间。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.cnbetacdn.com/article/2019/1217/bd56bdb7b2bf970.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.cnbetacdn.com/article/2019/1217/3ca2c87ba3e22d1.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.cnbetacdn.com/article/2019/1217/c5f46191711ab16.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.cnbetacdn.com/article/2019/1217/0b3e67d76ef84cf.png)
通过微软自带的 Ethr 基准测试进行评估,在网络性能方面,与 Ubuntu 相比,WSL 甚至 Windows 10 本身仍具有相当大的优势。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1216/234015_4PDp_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1216/234048_lYJg_2720166.png)
在完全由 CPU 决定的工作负载中,WSL/WSL2 的性能表现良好,和裸机 Linux 不相上下。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1216/234908_Pkqr_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1216/235000_7nl3_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1216/235028_4XAx_2720166.png)
上图的性能测试结果显示,除了在测试 HTTP 时,WSL 下的 Golang 性能基本比 Windows 更好。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/004029_JDN7_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/004102_dMXk_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/004225_9SKC_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/004537_8GgB_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/004621_HkRl_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/004652_bxWs_2720166.png)
上面的数据显示,在使用相同 OpenJDK 版本的条件下,Windows 10 19008 似乎也比 Windows 10 18362 提供了更好的 Java 性能。而对于 WSL,结果好坏参半。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/005510_YUBH_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/005540_THGJ_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/005610_O0rC_2720166.png)
上面的数据是使用英特尔 OSpray 渲染器进行测试的结果,可以看到 WSL1 比 WSL2 快。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/010756_xY9I_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/010859_8vyK_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/011035_3HTV_2720166.png)
这里使用英特尔 Embree 测试的数据也很有趣,可以看到,在使用官方 Windows 二进制文件的情况下,Windows 10 19008 的性能要比 18362 的更好,WSL1 的性能也比 WSL2 好,不过它们都要比 Ubuntu 逊色一筹。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/014420_yzcw_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/014501_qKE4_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/014538_EWLW_2720166.png)
这里使用了英特尔 SVT 视频编码器进行测试,可以看到,属于 Windows 10 Insider 预览版的 Windows 10 19008 表现不错,和 Ubuntu、WSL/WSL2 不相上下。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/015425_Ej1y_2720166.png)
从这个测试可以看到,Windows 10 Build 19008 的性能有了较大的改进,而 WSL 的性能则没有太大的变化。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/015751_C1iW_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/015820_xJ0r_2720166.png)
与 Windows 相比,LuxCoreRender在 WSL/WSL2 中的性能更好。WSL 的性能也比 Ubuntu 稍好。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/020423_4Wpr_2720166.png)
Himeno 属于比较重量级的工作负载,可以看到,在这个测试下,裸机 Ubuntu 的性能仍然是最好的。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/020941_koi6_2720166.png)
与较早的 18362 版本相比,Windows 10 19008 显示出了另一项重大改进 —— 解压文件的性能。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/021147_nTvc_2720166.png)
这里测试的是代码编译性能,由于 I/O 存在瓶颈,在 WSL 上进行代码编译仍然很慢,而 WSL2 由于采用了传统的 VM 类型方法,因此它的速度有了一定的提升。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/021630_tNdC_2720166.png)
从上图可以看出,在 WSL 中构建 LLVM 比在 Windows 中构建 LLVM 要快。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/021725_g93k_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/021936_O02a_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/022011_j2KB_2720166.png)
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/022035_Q8r5_2720166.png)
上面这些结果显示了不同的测试条件下各自的表现,这里不再赘述了,各位可根据自己的需要进行查看。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/022315_okuq_2720166.png)
使用 Blender 进行测试时,WSL/WSL2 可与 Linux 的性能相媲美,而 Windows 10 18362 的表现则稍有落后。
![[多图]Windows、WSL 与 Linux 的性能对比](https://static.oschina.net/uploads/space/2019/1217/022351_8KbD_2720166.png)
尽管执行了各种各样的测试,但是如果对在七个不同操作系统上成功运行的所有测试取几何平均值,可以得出这样的结论:
-
Windows 10 Build 19008 的总体性能要比 Build 18362 版本好,而 WSL 的性能并没有太大变化
-
WSL2 比 WSL 的性能确实稍好一些,这是因为在 I/O 或网络活动繁重的工作负载的情况下前者性能要好得多
-
在这种特殊的 Core i9 7960X 场景下,运行 Ubuntu Linux 的速度总体上比最快的 Windows 配置快 27%
有兴趣的朋友可查看这份更详细的 OpenBenchmarking.org 结果文件,以深入研究这些 Windows / WSL / Linux 基准测试内容。
本文素材来自互联网
域名频道资讯站