WSLのI/Oが遅いことに対するMS技術者からの回答

情報源: Major performance (I/O?) issue in /mnt/* and in ~ (home) · Issue #873 · Microsoft/WSL · GitHub

WSLのI/Oが遅いというGitHub issueに対するMSの技術者の回答が、遅いと言うより早くできていない理由についてまとめられています。

以下は私の考えです。

まず、初めに理解しておかなければならないことは、WSLのファイルシステムはUnix File Systemとは縁も所縁もないNTFSファイルシステム上にPOSIX互換のUnix File System(UFS)がエミュレートされている事です。WSLは、このためにNTFSとUFSとの差を一つ一つ埋めるようにエミュレートしなければなりません。WSL上のプログラムより、File I/Oの割り込みがある度にこれらの処理を通るので当然遅くなります。この処理は当然煩雑になり、これを速くしていくことはたやすいことではないのです。また、これらのエミュレーションはFile I/Oだけでなく、同じように根本的な仕組みが違うネットワークでも同じです。

Windows Subsytem for Linux(WSL)は、あくまでもWindowsのユーザー、特にソフトウェア開発者の利便性を向上させるものです。逆に言えばそれだけのものです。したがって、もしあなたがI/Oが適切なパフォーマンスを持ったLinuxが欲しいのであれば、どうぞ、Windowsを捨てて、ベアドライブにLinuxをインストールして、Linux機としてPCをお使いください。たまにOfficeが必要になるのであれば、Windowsを仮想環境で使えば良いではないですか。Linux上の仮想環境でもWindowsはそれなりのパフォーマンスでちゃんと動きます。

参考: WSL File System Support | OPCDiary

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください