Tại sao WSL 2 nhanh hơn 13 lần so với WSL: số lần hiển thị từ Bản xem trước nội bộ

Microsoft đang chuẩn bị phát hành Bản cập nhật Windows tháng 2020 năm 20 (1HXNUMX). Bản cập nhật này sẽ chứa một số cải tiến giao diện người dùng thú vị, nhưng điều quan trọng hơn đối với các nhà phát triển và những người khác trong phiên bản Windows mới là WSL 2 (Hệ thống con Windows dành cho Linux). Đây là thông tin phù hợp cho những ai muốn chuyển sang hệ điều hành Windows nhưng chưa dám.

Dave Rupert đã cài đặt WSL 2 trên máy tính xách tay Surface 13 inch của mình và kết quả đầu tiên
ngạc nhiên một cách thú vị:

Tại sao WSL 2 nhanh hơn 13 lần so với WSL: số lần hiển thị từ Bản xem trước nội bộ

Phiên bản thứ hai của WSL nhanh hơn phiên bản đầu tiên 13 lần! Không phải ngày nào bạn cũng được tăng hiệu suất gấp 13 lần miễn phí. Tôi cảm thấy ớn lạnh và rơi nước mắt nam tính khi lần đầu tiên nhìn thấy những kết quả này. Tại sao? Chà, phần lớn là tôi đang thương tiếc khoảng thời gian đã mất tích lũy trong hơn 5 năm làm việc với phiên bản đầu tiên của WSL.

Và đây không chỉ là những con số. Trong WSL 2, cài đặt npm, xây dựng, đóng gói, xem tệp, tải lại các mô-đun nóng, khởi động máy chủ - hầu hết mọi thứ tôi sử dụng hàng ngày với tư cách là nhà phát triển web đã trở nên nhanh hơn nhiều. Cảm giác giống như được sử dụng lại máy Mac (hoặc có lẽ tốt hơn, vì Apple đã hạn chế triệt để bộ xử lý của mình để có thời lượng pin tốt hơn trong vài năm qua).

Sự nhanh nhẹn như vậy đến từ đâu?

Làm thế nào họ đạt được mức tăng năng suất gấp 13 lần? Trước đây, khi nghĩ đến việc chuyển sang Mac, tôi cũng đã đưa ra một số lựa chọn dù chỉ dừng lại ở mức độ giả định. Thực tế là việc ghi vào đĩa và các lệnh gọi hệ thống Linux khá tốn kém (về mặt chi phí thời gian) do kiến ​​trúc của phiên bản đầu tiên của WSL. Và bây giờ hãy đoán xem việc phát triển web hiện đại dựa chủ yếu vào điều gì? Đúng. Khi bạn ghép một loạt các phần phụ thuộc và đoạn mã lại với nhau mỗi khi lưu tệp, bạn thực sự đang thực hiện rất nhiều thao tác ghi đĩa và gọi hệ thống trên hàng chục nghìn tệp.

Một khi bạn đã học được điều này một cách khó khăn, thật khó để quên. Bạn bắt đầu dần trở nên chán nản khi tưởng tượng mọi việc diễn ra chậm chạp và đáng buồn như thế nào. Và bạn nhận ra rằng thế giới của bạn sẽ không còn như xưa nữa và công cụ bạn thích dường như không còn hữu ích hay hiệu quả nữa.

May mắn thay, nhóm WSL đã mạo hiểm và viết lại hoàn toàn hệ thống con. Trong WSL 2, những vấn đề này đã được giải quyết: các nhà phát triển đã xây dựng máy ảo Linux của riêng họ vào Windows và ủy quyền các hoạt động tệp cho ổ đĩa mạng VHD (Đĩa phần cứng ảo). Sự đánh đổi là trong lần đầu tiên chạy nó, bạn phải mất thời gian khởi động máy ảo. Thời gian này được tính bằng mili giây và cá nhân tôi hầu như không nhận thấy được. Ví dụ, tôi đang chờ đợi một cách vui vẻ, bởi vì tôi biết tất cả những thứ này nhằm mục đích gì.

Các tập tin sẽ sống ở đâu bây giờ?

Để tận dụng tối đa WSL 2, bạn sẽ muốn di chuyển các tệp dự án của mình từ /mnt/c/Người dùng/<tên người dùng>/ vào thư mục chính mới ~/Linux trên một VHD mới. Bạn có thể xem nội dung của ổ đĩa này trực tuyến bằng cách truy cập \\wsl$\<tên phân phối>\<tên người dùng>\home hoặc bằng cách nhập lệnh explorer.exe từ vỏ Bash của bạn.

Đây là một hệ thống tệp Linux thực sự và nó hoạt động như bạn mong đợi. Tôi đã tạo một thư mục ~ / dự án, đây là nơi chứa tất cả các kho dự án của tôi và sau đó tôi mở các dự án trong Visual Studio Code bằng lệnh code.

Còn Mã VS thì sao?

Cài đặt WSLtiện ích mở rộng để phát triển từ xa trên VS Code (VS Code Remote - WSL) là giai đoạn cuối cùng đảm bảo nhà phát triển làm việc thoải mái. Tiện ích mở rộng cho phép VS Code thực hiện tất cả các hoạt động của nó (lệnh git, bảng điều khiển, cài đặt tiện ích mở rộng, v.v.) bằng cách tương tác trực tiếp với máy ảo Linux. Điều này làm cho toàn bộ quá trình rất tự chủ.

Lúc đầu, tôi hơi khó chịu khi phải cài đặt tiện ích mở rộng này vì tôi cần cài đặt lại những gì tôi đã cài đặt và định cấu hình trước đó. Nhưng bây giờ tôi đánh giá cao nó vì có một lớp trực quan đặc biệt hiển thị môi trường tôi đang làm việc và nơi lưu trữ các tệp của tôi. Điều này làm cho quá trình phát triển web của Windows trở nên minh bạch hơn và giúp việc sử dụng giao diện người dùng kiểm soát phiên bản trong VS Code trở nên dễ dàng hơn nhiều.

Những giọt nước mắt hạnh phúc và hy vọng về một tương lai tươi sáng

Tôi không thể không cảm thấy hào hứng với bản phát hành tiếp theo của Bản cập nhật Windows tháng 2020 năm XNUMX và hệ thống con Linux được tối ưu hóa đang xuất hiện trên chiếc PC chơi game mạnh mẽ của tôi. Có thể còn một số vấn đề khác mà tôi chưa biết nhưng sau Insider Preview Tôi kết luận rằng nhóm WSL đã giải quyết được hầu hết các vấn đề.

Ngoài ra, đừng quên rằng Thiết bị đầu cuối Windows tốt quá! Cứ như thể họ đã nghe thấy những lời phàn nàn của tôi về việc thiếu tab, Cài đặt JSON và nhu cầu “cảm thấy thú vị” trong Windows. Nghe có vẻ lạ nhưng Windows Terminal có lẽ là terminal tốt nhất cho Windows.

Làm việc trên Windows được 5 năm, tôi đã trải qua rất nhiều điều: không cài được Rails, loay hoay với các shell Cygwin nhân tạo. Tôi đã ngồi ở hàng ghế đầu tại cùng hội nghị Build 2016 khi Microsoft công bố phiên bản WSL đầu tiên. Và rồi tôi bắt đầu hy vọng rằng việc phát triển web trên Windows cuối cùng sẽ đạt đến một tầm cao mới. Không còn nghi ngờ gì nữa, WSL 2 là cải tiến lớn nhất mà tôi từng thấy kể từ đó và có vẻ như chúng ta đang ở trên đỉnh của một kỷ nguyên mới.

Như một quảng cáo

Nếu công việc đòi hỏi Máy chủ Windows, thì bạn chắc chắn cho chúng tôi — cài đặt tự động Windows Server 2012, 2016 hoặc 2019 trên các gói có RAM 2 GB trở lên, giấy phép đã được bao gồm trong giá. Tổng cộng từ 21 rúp mỗi ngày! Chúng tôi cũng có máy chủ vĩnh cửu 😉

Tại sao WSL 2 nhanh hơn 13 lần so với WSL: số lần hiển thị từ Bản xem trước nội bộ

Nguồn: www.habr.com

Thêm một lời nhận xét