科技媒體 Phoronix 對(duì) Windows 10 May 2020 中 WSL 和 WSL 2 的性能進(jìn)行了測(cè)試,參與測(cè)試的發(fā)行版為 Ubuntu 20.04 on WSL/WSL2 ,以及 Ubuntu 20.04 LTS,均被安裝在除 Windows 之外的電腦裸機(jī)中。
本次測(cè)試使用的電腦硬件設(shè)備是 Intel Core i9 10900K (Comet Lake) CPU,搭配 2 x 8GB DDR4-3200 的內(nèi)存、三星 970 EVO 250GB NVMe SSD 硬盤(pán)、技嘉 Z490 AORUS MASTER 和 Radeon RX 5700 XT 顯卡。具體的測(cè)試環(huán)境如下:
通過(guò) Phoronix 測(cè)試套件,共進(jìn)行了幾十項(xiàng)不同的基準(zhǔn)測(cè)試。測(cè)試結(jié)果如下:
從上圖的測(cè)試結(jié)果可以看到,在進(jìn)行繁重的 CPU 工作負(fù)載時(shí),如機(jī)器學(xué)習(xí) LC0 國(guó)際象棋基準(zhǔn)測(cè)試和 NAMD 測(cè)試等,WSL2 綜合表現(xiàn)是最好的。在 NAMD 測(cè)試中,WSL 與 WSL2 的性能一樣,比 Ubuntu 還稍快一些。在 LC0 測(cè)試中,WSL2 性能更快。尤其是 LC0 測(cè)試中使用 Eigen 后端的場(chǎng)景,WSL2 的性能甚至略微領(lǐng)先于 Ubuntu 本身——可能是由于 Windows 提供了更好的電源管理行為或類似行為。
上圖是測(cè)試一些 Java 工作負(fù)載的結(jié)果,這里明顯看出了 WSL2 的性能比 WSL 更好。測(cè)試使用的是 OpenJDK,性能最好的是裸機(jī)版本的 Ubuntu 20.04。
在使用部分應(yīng)用程序進(jìn)行測(cè)試時(shí),罕見(jiàn)地看到 WSL 的性能比 WSL2 更好。不過(guò)從這項(xiàng)測(cè)試的總體結(jié)果來(lái)看,WSL/WSL2 的性能也非常接近裸機(jī)版本 Ubuntu 20.04 的性能,三者相差無(wú)幾。
上面這幾項(xiàng)測(cè)試也看不出三者之間的性能差距,因?yàn)檎w來(lái)看都非常不錯(cuò)。但如果細(xì)看的話,裸機(jī)版本的 Ubuntu 20.04 還是略占上風(fēng)。
這里的測(cè)試結(jié)果顯示,使用另外一些程序測(cè)試時(shí),WSL2 的性能確實(shí)略微超過(guò)了 Ubuntu 20.04 本身。
上圖的測(cè)試結(jié)果反映了在 I/O 操作方面的性能。這正是 WSL 的短板,其性能較差的地方剛好包括 I/O 操作,剛問(wèn)世時(shí)這個(gè)缺點(diǎn)曾被不少用戶詬病。到了 WSL2,它采用了更類似于虛擬機(jī)的方式,使得 I/O 吞吐量大大提升。WSL2 的代碼編譯性能甚至與 Ubuntu 20.04 相差無(wú)幾。
對(duì)于可能因?yàn)槟撤N原因而不得不使用 Windows 10 的用戶來(lái)說(shuō),WSL2 總體上至少在每個(gè)工作負(fù)載中都表現(xiàn)得 "足夠好”。即使是在各種內(nèi)核 micro-benchmarks 測(cè)試中,WSL2 也基本上與 Ubuntu 20.04 及其 Linux 5.4 內(nèi)核持平。
上圖反映的是 socket activity 和上下文切換方面的性能,WSL2 由于架構(gòu)的改變,其性能比 WSL 和 Ubuntu 20.04 都好很多。
上圖反映了在大多數(shù)純 CPU bound 的工作負(fù)載場(chǎng)景中,比如渲染器,在 WSL/WSL2 上都表現(xiàn)得十分出色。
Facebook 的 RocksDB 數(shù)據(jù)庫(kù)在 WSL2 和 Ubuntu 20.04 LTS 之間的性能表現(xiàn)相似,而在 WSL 中,糟糕的 I/O 性能導(dǎo)致了糟糕的結(jié)果。
即使是在 WSL2 中使用 Git,也比 WSL 有了巨大的速度提升。
本次測(cè)試總共包含 69 項(xiàng)測(cè)試。Ubuntu 20.04 LTS 贏得了 60% 的測(cè)試,這就意味著出現(xiàn)了一個(gè)有趣的結(jié)果,40% 的測(cè)試中 WSL/WSL2 比 Ubuntu 20.04 LTS 本身更快,盡管通常是以微弱的優(yōu)勢(shì)勝出。
當(dāng)將三者的 69 項(xiàng)基準(zhǔn)測(cè)試結(jié)果的幾何平均值進(jìn)行比較時(shí),WSL2 比 WSL 的性能高出大約 21%,而 Ubuntu 20.04 的速度僅快 8%。WSL2 由于解決了 WSL 的主要瓶頸,擁有了更快的 I/O。更值得關(guān)注的是,WSL2 的性能已非常接近 Ubuntu 本身的性能。通過(guò) OpenBenchmarking.org 查看全部 69 項(xiàng)基準(zhǔn)測(cè)試。