WSL3はWSL2より最大61%高速、ベンチマーク結果
原題: WSL3 Performance is about 5-60% faster than WSL2 depending on the workload
なぜ重要か
WSLの性能がネイティブLinux環境に近づくほど、Windows上での開発者体験が向上し、エンタープライズ採用の障壁が下がる。
エンジニアのTony Metzidis氏が2026年10月7日に公開したベンチマーク結果によると、MicrosoftのWSL 3.0.2(Linux kernel 6.18)はWSL 2.6.3(Linux kernel 6.6)と比較して、メモリ帯域幅で最大61%、スケジューラ性能で約11%、実際のGoコンパイル処理で約4%の性能向上を記録した。テスト環境はIntel Core i5-8500T搭載のHP ProDesk 400 G4、Alpine Linux 3.23.0を使用。
WSL 3.xスタックのリリースに伴い、Microsoftは仮想化ランタイムを刷新し、搭載するゲストカーネルを6.6 LTSブランチから6.18へ引き上げた。マーケティング上の性能向上主張が実際の開発者ワークロードに直結するかを検証するため、Metzidis氏はWSL 2.6.3.0(kernel 6.6.87.2)とWSL 3.0.2.0(kernel 6.18.40.1)を同一ハードウェア上で比較計測した。
最も顕著な改善はメモリ帯域幅だ。glibc標準の1GBメモリコピーで、WSL2の7.84 GB/sに対しWSL3は12.64 GB/sを記録し、61.35%増となった。WSL3のカーネルコマンドラインで`page_reporting.page_reporting_order=5`が設定され、ハイパーバイザーのトラップ頻度とHyper-Vの動的メモリ回収インターフェース処理でのページテーブル走査コストが削減されたことが主因とされる。
スケジューラとIPC(プロセス間通信)性能も改善した。`sched/pipe`によるプロセスping-pongは48,445 ops/sから54,589 ops/sへ12.68%向上し、コンテキストスイッチレイテンシは20.64µsから18.32µsへ11.25%短縮。800タスクを扱うHackbenchも14.507秒から13.047秒と10%改善した。一方、`getppid()`による基本的なシステムコールの改善は3.98%にとどまった。8世代Intel CPUではリング遷移コストがCPUアーキテクチャ上の制約に支配されるためだ。
実開発ワークロードの指標として、GoReleaserコードベースのフルコンパイルも計測した。ウォールクロック時間はWSL2の191.27秒からWSL3の183.80秒へ3.91%短縮。より注目すべきはカーネル時間(sys)で、57.39秒から48.22秒へ15.98%減少しており、WSL3のシステムコール処理改善が実ワークロードに反映されている。