WSL2はどれくらい高速になったか?

ベンチマーク測定ツール UnixBenchでWSL1とWSL2を比較測定する

Windows Subsystem for Linux (WSL) とは、Linuxのバイナリ実行ファイルをWindows 10およびWindows Server上で実行できるようにしたものです。
従来のWSL1との違いは、本物のLinuxカーネルを使用し、Linuxカーネルを仮想マシン上で動作させていることとされています。メリットとしては、本物のLinuxカーネルを使用することで互換性が向上し、仮想マシンを使用することでディスクI/O性能が向上したとのことです。
本当でしょうか?
そこで、本稿ではUbuntu20.04上で、UnixBenchを測定してみました。

UnixBenchのインストールと走らせ方はこちらを参照ください。
UnixBenchは、80年代に作られたUNIXベンチマークテストツールです。

複数のテストが実行され、ベースラインシステムのスコアと比較され、計測値が記録されます。また、全テストの実行結果を踏まえた総合的な計測も行います。
現在のPCはマルチCPUシステムが普及していますが、デフォルトではベンチマークテストを1CPUでの計測とマルチCPUでの計測の合計2回実行されます。またグラフィックスのテストも含まれています。

測定環境

H/W:VAIO VPCCB39FJ
CPU:インテル Core i5-2430M プロセッサー
メモリ:PC3-10600 8GB(4GB ×2)
OS:Ubuntu18.04 ストレート(外付けHDDからブート)
  WSL2(Windows10上にUbuntu18.04をインストール)
  WSL1(Windows10上にUbuntu18.04をインストール)
  WSL2は、Windows 10 Insider Previewで実施。正式リリース版では計測値が変動する可能性がある。あくまでも参考値とされたい。
計測日:2020年5月14日

計測結果

single CPU

※ スコアが大きいほど早い。

TestストレートWSL2WSL1
Dhrystone 2 using register variables2804.92721.52810.8
Double-Precision Whetstone887.6868.4898.6
Execl Throughput826.9576.219.8
File Copy 1024 bufsize 2000 maxblocks1226.51055.4170
File Copy 256 bufsize 500 maxblocks821.2688.7109.7
File Copy 4096 bufsize 8000 maxblocks2601.72320.3354.9
Pipe Throughput568.3553.9179
Pipe-based Context Switching353.336.2105.7
Process Creation285.62498.5
Shell Scripts (1 concurrent)1189.41482.956.8
Shell Scripts (8 concurrent)3182.62333.984.8
System Call Overhead301.7271.1173.2
System Benchmarks Index Score:916.9685.4137.1

multi CPU

TestストレートWSL2WSL1
Dhrystone 2 using register variables6320.16039.35526
Double-Precision Whetstone2889.727662655.3
Execl Throughput2004.11204.441.2
File Copy 1024 bufsize 2000 maxblocks1968.61443.4296.3
File Copy 256 bufsize 500 maxblocks1268.2919.8177.9
File Copy 4096 bufsize 8000 maxblocks4136.33071.3416.8
Pipe Throughput1426.21317.1396.6
Pipe-based Context Switching777.6751.4406.8
Process Creation1671.5883.516.3
Shell Scripts (1 concurrent)3653.12618.596.4
Shell Scripts (8 concurrent)3587.12966.195.6
System Call Overhead748.8639.8340.4
System Benchmarks Index Score:2088.21631.8263

ミニ考察

ストレートUbuntu、WSL2、WSL1の順で早い。
index score(各測定値の平均値)がWSL2でストレートの78%、WSL1で13%程度の性能(マルチCPU)。
DhrystoneとWhetstoneではWSL2、WSL1共に健闘しており、ストレートと遜色ない性能。これはMicrosoftのチューニングアップの成果なのか、差の出にくいテスト特性なのかは不明。
DhrystoneとWhetstone以外では、WSL1を大きく引き離して6倍以上、WSL2が早くなっている。
今後、積極的にWSL1を使用するメリットはあまり感じられない。
Hyper-V上にインストールされたUbuntuとWSL2の比較によって、どの程度WSL2が最適化されているかがわかると思われる。興味があるが、本稿では環境が用意できなかった。