的性能对比,子系统的

Phoronix
网站发布了关于
Windows、WSL 和 Linux 的性能基准测试结果。测试的内容包括网络性能、I/O
性能、编程语言运行性能和图形处理性能等。

Windows 的 Linux 子系统,又被称作 WSL 或”Bash for
Windows”,是微软为实现在 Windows 10 以及最近的 Windows Server 上运行
Linux 二进制文件的一个有趣产物。外媒
Phoronix表示,在他们的基准测试中,WSL
通常拥有很高的性能,但它面临挑战的领域是 I/O、存储性能这些方面。

测试的系统版本为:

WSL中 一直在努力提升其 I/O 性能,因为必须处理 Linux
文件的操作以及跟踪所有相关的元数据,同时通过 Windows NTFS
文件系统进行备份。这种开销对于减慢需要频繁读/写的程序/服务/基准测试影响巨大,而在
CPU/系统工作负载中,WSL 与裸机 Windows 10 性能或各种 Linux
发行版的性能非常相似。

  • 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 

微软表示,他们拥有专门致力于提升 WSL I/O 性能的开发者。微软的 Rich
Turner 在 GitHub
的问题跟踪器上重申了这一点,“我们正在积极研究的改进列表中,对于磁盘
IO
性能的优化工作有着十分高的优先级。一旦我们有一个可行的解决方案来解决这个问题,我们一定会全力以赴。”

所有的 Windows/Linux WSL 性能基准测试均基于以下硬件环境:

微软尚未说明对 I/O
进行的这些改进何时可能会到来,但我们希望它能够在下一次 Windows 10
更新时及时提供。Windows 10 “Redstone 5”
更新预计将于10月发布,希望我们能够在下一个里程碑之前了解到更多有关 WSL
改进的信息。

  • MSI X299 SLI PLUS 主板
  • Intel Core i9 7960X CPU
  • 16GB 内存
  • 256GB Intel NVMe SSD
  • 技嘉 Radeon RX 550 显卡

(文/开源中国)    

所有操作系统和 WSL
实例均在其现成的配置中进行了测试,所有这些基准测试都是使用 Phoronix
Test Suite 进行的。

图片 1

图片 2

图片 3

下面看看测试结果:

图片 4

图片 5

图片 6

WSL 过去存在瓶颈的地方是 I/O 性能,通过观察测试数据我们能看到,到了
WSL2,它在 I/O 性能上要优于 WSL,这或许要归功于 WSL2 的 Hyper-V
VM。不过对于某些 SQLite 测试,WSL2 的表现并不算太好。

有意思的是,WSL1/WSL2 的性能表现在某些 SQLite 测试中甚至超过 Windows
本身(有可能是由于 SQLite 上游的 fsync
行为在不同平台中表现不一样,也可能是因为某些 fsync 操作未在 WSL
下进行同样的处理)。

图片 7

虽然 WSL2 提供了比 WSL 更好的 I/O 性能,但仍有改进的空间。

图片 8

图片 9

图片 10

图片 11

通过微软自带的 Ethr 基准测试进行评估,在网络性能方面,与 Ubuntu
相比,WSL 甚至 Windows 10 本身仍具有相当大的优势。

图片 12

图片 13

在完全由 CPU 决定的工作负载中,WSL/WSL2 的性能表现良好,和裸机 Linux
不相上下。

图片 14

图片 15

图片 16

上图的性能测试结果显示,除了在测试 HTTP 时,WSL 下的 Golang 性能基本比
Windows 更好。

图片 17

图片 18

图片 19

图片 20

图片 21

图片 22

上面的数据显示,在使用相同 OpenJDK 版本的条件下,Windows 10 19008
似乎也比 Windows 10 18362 提供了更好的 Java 性能。而对于
WSL,结果好坏参半。

图片 23

发表评论

电子邮件地址不会被公开。 必填项已用*标注