WSL 2 が WSL より 13 倍速い理由: Insider Preview からの印象

Microsoft は、Windows May 2020 Update (20H1) のリリースを準備しています。 この更新プログラムにはいくつかの優れたユーザー インターフェイスの改善が含まれていますが、新しいバージョンの Windows の開発者やその他の人にとってより重要なことは、 WSL 2 (Linux 用 Windows サブシステム)。 これは、Windows OS に切り替えたくても勇気がなかった人にとって重要な情報です。

Dave Rupert が 2 インチ Surface ラップトップに WSL 13 をインストールし、最初の結果を示しました
嬉しい驚き:

WSL 2 が WSL より 13 倍速い理由: Insider Preview からの印象

WSL の 13 番目のバージョンは、最初のバージョンより 13 倍高速です。 無料で 5 倍のパフォーマンス向上が得られることは、毎日あるわけではありません。 この結果を初めて見たとき、私は寒気がして男らしい涙を流しました。 なぜ? まあ、主に、最初のバージョンの WSL を使用して XNUMX 年間にわたって蓄積された失われた時間を嘆いていました。

そして、これらは単なる数字ではありません。 WSL 2 では、npm のインストール、ビルド、パッケージ化、ファイルの表示、ホット モジュールのリロード、サーバーの起動など、Web 開発者として私が日常的に使用するほぼすべての作業が大幅に高速化されました。 まるで再び Mac を使っているような気分です (あるいは、Apple はここ数年、バッテリ寿命の向上を優先してプロセッサを大幅に制限しているので、もしかしたらもっと良くなっているかもしれません)。

そのような敏捷性はどこから来るのでしょうか?

彼らはどのようにして生産性の 13 倍の向上を達成したのでしょうか? 以前、私も Mac に乗り換えようと考えたときに、単なる思い込みのレベルではありましたが、いくつかの選択肢を捨てました。 実際のところ、WSL の最初のバージョンのアーキテクチャにより、ディスクへの書き込みと Linux システム コールは (時間コストの点で) 非常に高価でした。 では、現代の Web 開発は何に大きく依存しているのでしょうか? はい。 ファイルを保存するたびに多数の依存関係とコード スニペットをつなぎ合わせると、実際には何万ものファイルに対して大量のディスク書き込みとシステム コールを実行することになります。

これを一度苦労して学ぶと、忘れるのは困難です。 すべてがどれほどゆっくりと悲しいことに進むかを想像すると、あなたは徐々に憂鬱になり始めます。 そして、自分の世界はもはや以前と同じではなくなり、気に入っていたツールももはや役に立たず、効果的にも思えなくなることに気づきます。

幸いなことに、WSL チームはリスクを冒してサブシステムを完全に書き直しました。 WSL 2 では、これらの問題が解決されました。開発者は独自の Linux 仮想マシンを Windows に構築し、ファイル操作を VHD (仮想ハードウェア ディスク) ネットワーク ドライブに委任しました。 その代償として、初めて実行するときは、仮想マシンを起動するのに時間を費やす必要があります。 この時間はミリ秒単位で測定され、個人的にはほとんど気づきません。 たとえば、私はこれが何のためのものかを知っているので、喜んで待っています。

ファイルは今後どこに存在するのでしょうか?

WSL 2 を最大限に活用するには、プロジェクト ファイルを次の場所に移動する必要があります。 /mnt/c/Users/<ユーザー名>/ 新しいホームディレクトリへ ~/Linux 新しい VHD 上で。 このドライブの内容は、次の場所にアクセスするとオンラインで確認できます。 \\wsl$\<ディストリビューション名>\<ユーザー名>\home またはコマンドを入力して explorer.exeの Bash シェルから。

これは本物の Linux ファイルシステムであり、期待どおりに動作し、動作します。 フォルダーを作成しました ~/プロジェクトここにすべてのプロジェクト リポジトリが存在し、code コマンドを使用して Visual Studio Code でプロジェクトを開きます。

VS コードはどうですか?

WSLのインストールエクステンション VS Code でのリモート開発 (VS Code Remote - WSL) は、開発者にとって快適な作業を保証する最後の段階です。 この拡張機能を使用すると、VS Code は Linux 仮想マシンと直接対話してすべての操作 (git コマンド、コンソール、拡張機能のインストールなど) を実行できます。 これにより、プロセス全体が非常に自律的なものになります。

最初は、以前にインストールして構成したものを再インストールする必要があったため、この拡張機能をインストールしなければならないことに少し動揺しました。 しかし、今では、作業している環境やファイルがどこに存在するかを示す特別な視覚化レイヤーがあることに感謝しています。 これにより、Windows Web 開発プロセスがより透明になり、VS Code でのバージョン管理 UI の使用がはるかに簡単になりました。

幸せの涙と明るい未来への希望

Windows May 2020 Update の次のリリースと、私の強力なゲーム PC 上で飛び回る最適化された Linux サブシステムに興奮せずにはいられません。 まだ私が知らない問題がいくつかあるかもしれませんが、 インサイダープレビュー 私は、WSL チームがほとんどの問題を解決したと結論付けました。

さらに、忘れてはいけないのが、 Windowsターミナル 同じく元気です! タブの欠如、JSON 設定、Windows の「クール感」の必要性についての私の不満を彼らが聞いてくれたかのようでした。 まだ奇妙に聞こえますが、Windows ターミナルはおそらく Windows にとって最適なターミナルです。

私は 5 年間 Windows で働いてきましたが、Rails をインストールできなかったり、人工 Cygwin シェルに苦労したり、多くのことを経験してきました。 Microsoft が WSL の最初のバージョンを発表したとき、私は同じ Build 2016 カンファレンスの最前列の席に座っていました。 そして私は、Windows での Web 開発がついに新たなレベルに達するのではないかと期待し始めました。 疑いもなく、WSL 2 はそれ以来私が目にした中で最大の改善であり、私たちは新たな時代の入り口にいるようです。

広告の権利について

仕事で必要な場合 Windowsサーバー、それならあなたは間違いなく 私たちに — 2012 GB RAM 以上のプランでの Windows Server 2016、2019、または 2 の自動インストール。ライセンスはすでに価格に含まれています。 合計 21日あたりXNUMXルーブルから! 永久サーバーもあります 😉

WSL 2 が WSL より 13 倍速い理由: Insider Preview からの印象

出所: habr.com

コメントを追加します