เหตุใด WSL 2 จึงเร็วกว่า WSL ถึง 13 เท่า: การแสดงผลจาก Insider Preview

Microsoft กำลังเตรียมการเปิดตัวการอัปเดต Windows เดือนพฤษภาคม 2020 (20H1) การอัปเดตนี้จะมีการปรับปรุงส่วนติดต่อผู้ใช้ที่ดี แต่สิ่งที่สำคัญกว่าสำหรับนักพัฒนาและคนอื่นๆ ใน Windows เวอร์ชันใหม่ก็คือ WSL 2 (ระบบย่อย Windows สำหรับ Linux) นี่เป็นข้อมูลที่เกี่ยวข้องสำหรับผู้ที่ต้องการเปลี่ยนมาใช้ Windows OS แต่ไม่กล้า

Dave Rupert ติดตั้ง WSL 2 บนแล็ปท็อป Surface ขนาด 13 นิ้วของเขาและผลลัพธ์แรก
ประหลาดใจมาก:

เหตุใด WSL 2 จึงเร็วกว่า WSL ถึง 13 เท่า: การแสดงผลจาก Insider Preview

WSL เวอร์ชันที่สองเร็วกว่าเวอร์ชันแรกถึง 13 เท่า! ไม่ใช่ทุกวันที่คุณจะได้รับประสิทธิภาพเพิ่มขึ้น 13 เท่าฟรีๆ ฉันรู้สึกหนาวสั่นและหลั่งน้ำตาอย่างลูกผู้ชายเมื่อเห็นผลลัพธ์เหล่านี้ครั้งแรก ทำไม ส่วนใหญ่ฉันไว้ทุกข์กับเวลาที่เสียไปซึ่งสั่งสมมามากกว่า 5 ปีในการทำงานกับ WSL เวอร์ชันแรก

และนี่ไม่ใช่แค่ตัวเลขเท่านั้น ใน WSL 2 การติดตั้ง npm การสร้าง การบรรจุ การดูไฟล์ การรีโหลดโมดูลยอดนิยม การเริ่มเซิร์ฟเวอร์ - เกือบทุกอย่างที่ฉันใช้ทุกวันในฐานะนักพัฒนาเว็บนั้นเร็วขึ้นมาก รู้สึกเหมือนได้ใช้ Mac อีกครั้ง (หรืออาจจะดีกว่า เนื่องจาก Apple ได้จำกัดโปรเซสเซอร์อย่างรุนแรงเพื่อสนับสนุนอายุการใช้งานแบตเตอรี่ที่ดีขึ้นในช่วงไม่กี่ปีที่ผ่านมา)

ความคล่องตัวดังกล่าวมาจากไหน?

พวกเขาได้รับผลผลิตเพิ่มขึ้น 13 เท่าได้อย่างไร ก่อนหน้านี้เมื่อฉันคิดที่จะเปลี่ยนมาใช้ Mac ฉันก็โยนตัวเลือกบางอย่างออกไป แม้จะอยู่ในระดับสมมติฐานเท่านั้น ความจริงก็คือการเขียนลงดิสก์และการเรียกระบบ Linux มีราคาค่อนข้างแพง (ในแง่ของต้นทุนด้านเวลา) เนื่องจากสถาปัตยกรรมของ WSL เวอร์ชันแรก และตอนนี้ลองเดาดูว่าการพัฒนาเว็บไซต์สมัยใหม่ต้องอาศัยอะไรเป็นอย่างมาก? ใช่. เมื่อคุณรวมการขึ้นต่อกันและข้อมูลโค้ดจำนวนมากเข้าด้วยกันทุกครั้งที่คุณบันทึกไฟล์ จริงๆ แล้วคุณกำลังเขียนดิสก์และการเรียกใช้ระบบจำนวนมากในไฟล์นับหมื่นไฟล์

เมื่อคุณเรียนรู้สิ่งนี้อย่างยากลำบาก มันก็ยากที่จะลืม คุณเริ่มรู้สึกหดหู่ใจเมื่อคุณจินตนาการว่าทุกอย่างดำเนินไปอย่างช้าๆ และน่าเศร้าแค่ไหน และคุณตระหนักได้ว่าโลกของคุณจะไม่เหมือนเดิมอีกต่อไป และเครื่องมือที่คุณชอบก็ดูเหมือนจะไม่มีประโยชน์หรือประสิทธิผลอีกต่อไป

โชคดีที่ทีม WSL ยอมเสี่ยงและเขียนระบบย่อยใหม่ทั้งหมด ใน WSL 2 ปัญหาเหล่านี้ได้รับการแก้ไขแล้ว: นักพัฒนาได้สร้างเครื่องเสมือน Linux ของตัวเองลงใน Windows และมอบหมายการดำเนินการไฟล์ให้กับไดรฟ์เครือข่าย VHD (Virtual Hardware Disk) ข้อเสียคือในครั้งแรกที่คุณเรียกใช้งาน คุณจะต้องใช้เวลาในการหมุนเครื่องเสมือน เวลานี้วัดเป็นมิลลิวินาทีและแทบจะไม่สังเกตเห็นเป็นการส่วนตัวสำหรับฉัน ตัวอย่างเช่น ฉันกำลังรอด้วยความยินดี เพราะฉันรู้ว่าทั้งหมดนี้มีไว้เพื่ออะไร

ไฟล์จะอยู่ที่ไหนตอนนี้?

เพื่อใช้ประโยชน์จาก WSL 2 อย่างเต็มที่ คุณจะต้องย้ายไฟล์โปรเจ็กต์ของคุณมา /mnt/c/Users/<ชื่อผู้ใช้>/ ไปยังโฮมไดเร็กตอรี่ใหม่ ~/Linux บน VHD ใหม่ คุณสามารถดูเนื้อหาของไดรฟ์นี้ทางออนไลน์ได้โดยไปที่ \\wsl$\<ชื่อการแจกจ่าย>\<ชื่อผู้ใช้>\home หรือโดยการป้อนคำสั่ง explorer.exe จาก Bash เชลล์ของคุณ

นี่คือระบบไฟล์ Linux จริง และทำงานและทำงานตามที่คุณคาดหวัง ฉันสร้างโฟลเดอร์ ~/โครงการซึ่งเป็นที่ที่ที่เก็บโปรเจ็กต์ทั้งหมดของฉันอยู่ จากนั้นฉันก็เปิดโปรเจ็กต์ใน Visual Studio Code โดยใช้คำสั่ง code

แล้ว VS Code ล่ะ?

การติดตั้ง WSLการขยายตัว สำหรับการพัฒนาระยะไกลบน VS Code (VS Code Remote - WSL) เป็นขั้นตอนสุดท้ายที่ช่วยให้นักพัฒนาทำงานได้อย่างสะดวกสบาย ส่วนขยายนี้อนุญาตให้ VS Code ดำเนินการทั้งหมดได้ (คำสั่ง git, คอนโซล, การติดตั้งส่วนขยาย ฯลฯ) โดยการโต้ตอบโดยตรงกับเครื่องเสมือน Linux ทำให้กระบวนการทั้งหมดมีความเป็นอิสระมาก

ในตอนแรกฉันรู้สึกหงุดหงิดเล็กน้อยที่ต้องติดตั้งส่วนขยายนี้ เนื่องจากฉันต้องติดตั้งสิ่งที่ฉันได้ติดตั้งและกำหนดค่าก่อนหน้านี้ใหม่อีกครั้ง แต่ตอนนี้ฉันซาบซึ้งเพราะมีเลเยอร์การแสดงภาพพิเศษที่แสดงให้เห็นว่าฉันทำงานในสภาพแวดล้อมใดและไฟล์ของฉันอยู่ที่ใด สิ่งนี้ทำให้กระบวนการพัฒนาเว็บ Windows มีความโปร่งใสมากขึ้น และทำให้ใช้ UI การควบคุมเวอร์ชันใน VS Code ได้ง่ายขึ้นมาก

น้ำตาแห่งความสุขและความหวังเพื่ออนาคตที่สดใส

ฉันอดไม่ได้ที่จะรู้สึกตื่นเต้นกับการอัปเดต Windows เดือนพฤษภาคม 2020 รุ่นถัดไปและระบบย่อย Linux ที่ได้รับการปรับปรุงซึ่งเพิ่งจะใช้งานได้บนพีซีสำหรับเล่นเกมอันทรงพลังของฉัน อาจมีปัญหาอื่น ๆ ที่ฉันไม่รู้ แต่หลังจากนั้น Insider Preview ฉันสรุปว่าทีม WSL แก้ไขปัญหาส่วนใหญ่ได้

นอกจากนี้อย่าลืมว่า Windows Terminal ดีเหมือนกัน! ราวกับว่าพวกเขาได้ยินคำร้องเรียนของฉันเกี่ยวกับการไม่มีแท็บ การตั้งค่า JSON และความจำเป็นในการ "รู้สึกเท่" ใน Windows ฟังดูแปลก แต่ Windows Terminal อาจเป็นเทอร์มินัลที่ดีที่สุดสำหรับ Windows

หลังจากทำงานบน Windows มาเป็นเวลา 5 ปี ฉันผ่านอะไรมามากมาย: ไม่สามารถติดตั้ง Rails ได้ และต้องดิ้นรนกับ Cygwin เชลล์เทียม ฉันมีที่นั่งแถวหน้าในการประชุม Build 2016 เดียวกันเมื่อ Microsoft ประกาศ WSL เวอร์ชันแรก จากนั้นฉันก็เริ่มหวังว่าการพัฒนาเว็บบน Windows จะก้าวไปสู่ระดับใหม่ในที่สุด ไม่ต้องสงสัยเลยว่า WSL 2 เป็นการปรับปรุงครั้งใหญ่ที่สุดที่ฉันเคยเห็นตั้งแต่นั้นมา และดูเหมือนว่าเรากำลังอยู่บนจุดสูงสุดของยุคใหม่

เป็นโฆษณา

ถ้างานต้องการ เซิร์ฟเวอร์วินโดวส์แล้วคุณล่ะแน่นอน สำหรับพวกเรา — การติดตั้ง Windows Server 2012, 2016 หรือ 2019 อัตโนมัติบนแผนที่มี RAM 2 GB ขึ้นไป ราคารวมใบอนุญาตแล้ว ทั้งหมด จาก 21 รูเบิลต่อวัน! เรายังมีเซิร์ฟเวอร์นิรันดร์อีกด้วย 😉

เหตุใด WSL 2 จึงเร็วกว่า WSL ถึง 13 เท่า: การแสดงผลจาก Insider Preview

ที่มา: will.com

เพิ่มความคิดเห็น