Windows 10 May 中 WSL 与 WSL2 的性能比较

时间:2024-03-22 21:34:30

科技媒体 Phoronix 对 Windows 10 May 2020 中 WSL 和 WSL 2 的性能进行了测试,参与测试的发行版为 Ubuntu 20.04 on WSL/WSL2 ,以及 Ubuntu 20.04 LTS,均被安装在除 Windows 之外的电脑裸机中。

本次测试使用的电脑硬件设备是 Intel Core i9 10900K (Comet Lake) CPU,搭配 2 x 8GB DDR4-3200 的内存、三星 970 EVO 250GB NVMe SSD 硬盘、技嘉 Z490 AORUS MASTER 和 Radeon RX 5700 XT 显卡。具体的测试环境如下:

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

通过 Phoronix 测试套件,共进行了几十项不同的基准测试。测试结果如下:

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

从上图的测试结果可以看到,在进行繁重的 CPU 工作负载时,如机器学习 LC0 国际象棋基准测试和 NAMD 测试等,WSL2 综合表现是最好的。在 NAMD 测试中,WSL 与 WSL2 的性能一样,比 Ubuntu 还稍快一些。在 LC0 测试中,WSL2 性能更快。尤其是 LC0 测试中使用 Eigen 后端的场景,WSL2 的性能甚至略微领先于 Ubuntu 本身——可能是由于 Windows 提供了更好的电源管理行为或类似行为。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

上图是测试一些 Java 工作负载的结果,这里明显看出了 WSL2 的性能比 WSL 更好。测试使用的是 OpenJDK,性能最好的是裸金属版本的 Ubuntu 20.04。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

在使用部分应用程序进行测试时,罕见地看到 WSL 的性能比 WSL2 更好。不过从这项测试的总体结果来看,WSL/WSL2 的性能也非常接近裸金属版本 Ubuntu 20.04 的性能,三者相差无几。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

上面这几项测试也看不出三者之间的性能差距,因为整体来看都非常不错。但如果细看的话,裸金属版本的 Ubuntu 20.04 还是略占上风。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

这里的测试结果显示,使用另外一些程序测试时,WSL2 的性能确实略微超过了 Ubuntu 20.04 本身。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

上图的测试结果反映了在 I/O 操作方面的性能。这正是 WSL 的短板,其性能较差的地方刚好包括 I/O 操作,刚问世时这个缺点曾被不少用户诟病。到了 WSL2,它采用了更类似于虚拟机的方式,使得 I/O 吞吐量大大提升。WSL2 的代码编译性能甚至与 Ubuntu 20.04 相差无几。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

对于可能因为某种原因而不得不使用 Windows 10 的用户来说,WSL2 总体上至少在每个工作负载中都表现得 "足够好”。即使是在各种内核 micro-benchmarks 测试中,WSL2 也基本上与 Ubuntu 20.04 及其 Linux 5.4 内核持平。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

上图反映的是 socket activity 和上下文切换方面的性能,WSL2 由于架构的改变,其性能比 WSL 和 Ubuntu 20.04 都好很多。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

上图反映了在大多数纯 CPU bound 的工作负载场景中,比如渲染器,在 WSL/WSL2 上都表现得十分出色。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

Facebook 的 RocksDB 数据库在 WSL2 和 Ubuntu 20.04 LTS 之间的性能表现相似,而在 WSL 中,糟糕的 I/O 性能导致了糟糕的结果。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

即使是在 WSL2 中使用 Git,也比 WSL 有了巨大的速度提升。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

本次测试总共包含 69 项测试。Ubuntu 20.04 LTS 赢得了 60% 的测试,这就意味着出现了一个有趣的结果,40% 的测试中 WSL/WSL2 比 Ubuntu 20.04 LTS 本身更快,尽管通常是以微弱的优势胜出。

Windows 10 May 2020 中 WSL 与 WSL2 的性能比较

当将三者的 69 项基准测试结果的几何平均值进行比较时,WSL2 比 WSL 的性能高出大约 21%,而 Ubuntu 20.04 的速度仅快 8%。WSL2 由于解决了 WSL 的主要瓶颈,拥有了更快的 I/O。更值得关注的是,WSL2 的性能已非常接近 Ubuntu 本身的性能。通过 OpenBenchmarking.org 查看全部 69 项基准测试。