- มีการเผยแพร่วิดีโอบนทวิตเตอร์ที่เปรียบเทียบความเร็วระหว่างคอมพิวเตอร์เก่าที่รัน Windows NT 3.51 กับคอมพิวเตอร์ใหม่ที่รัน Windows 11 และมันกลายเป็นไวรัลพอสมควร
- ทั้งคู่ทำการทำงานแบบเดียวกัน: เปิดและปิด Command Prompt, Explorer, Notepad และ Paint
- บนคอมพิวเตอร์เก่า โปรแกรมทำงานทันที แต่บนคอมพิวเตอร์ใหม่กลับช้า
- ความหน่วงของส่วนติดต่อผู้ใช้บนคอมพิวเตอร์สมัยใหม่นั้นแย่มาก และกำลังแย่ลงเรื่อยๆ
- มีคนพูดว่าฮาร์ดแวร์ที่ใช้เปรียบเทียบไม่ยุติธรรม เพราะเป็นเดสก์ท็อปกับโน้ตบุ๊ก (Surface Go)
- จึงติดตั้ง Windows 2000 บนเครื่อง K7-600 และติดตั้ง Windows 11 บน Mac Pro 2013 (Xeon 6 คอร์ + 32GB) เพื่อเปรียบเทียบใหม่ แต่ผลก็ยังคล้ายเดิม
พัฒนาการของคอมพิวเตอร์
- ตั้งแต่ยุค 2000 เป็นต้นมา มีความก้าวหน้าในหลายด้าน: กราฟิกที่น่าทึ่ง จอความละเอียดสูง เครือข่ายความเร็วสูงมาก การตัดต่อวิดีโอแบบเรียลไทม์ เป็นต้น
- ฝั่ง I/O ก็พัฒนาไปมากเช่นกัน โดยในระบบสมัยก่อน ดิสก์ I/O มักเป็นจุดอ่อนที่สุดเสมอ
- ฟลอปปีดิสก์ไม่น่าเชื่อถือและช้า, CD/DVD เชื่อถือได้มากขึ้นแต่ก็ยังช้า, และ HDD เป็นคอขวดของหลายสิ่ง
- Random I/O เริ่มชนขีดจำกัดทางกายภาพ
- เมื่อ SSD ปรากฏขึ้นและเริ่มถูกใช้บนเดสก์ท็อป ก็เริ่มแก้ปัญหา Random I/O นี้ได้
- อยู่ๆ ทุกอย่างก็เร็วขึ้น: การบูต, การโหลดเกม, การเปิดโฟลเดอร์ที่มีไฟล์จำนวนมาก...
- การติดตั้งฮาร์ดแวร์ใหม่ก็สะดวกขึ้น การเชื่อมต่อไร้สายกลายเป็นเรื่องทั่วไป และข้อความ/แอปก็รองรับสากลมากขึ้น (ยอมรับว่า Unicode ไม่ได้ง่ายและไม่ได้ถูกเสมอไป)
- หลายอย่างดีขึ้น และเรามีพลังมากกว่าที่เคย หากไม่เป็นเช่นนั้น เราคงทำสิ่งอย่างการประมวลผลภาพด้วย ML บนโทรศัพท์มือถือเล็กๆ ซึ่งในยุค 2000 คงนึกไม่ถึงไม่ได้
ความหน่วงที่เลวร้าย
- แต่ไม่มีความก้าวหน้าใดเลยที่อธิบายได้ว่าทำไม UI latency ถึงได้ช้ามากอย่างรุนแรงในทุกวันนี้
- ความก้าวหน้าของฮาร์ดแวร์ควรทำให้สถานการณ์นี้ดีขึ้นสิ
ตัวอย่าง
- จนไม่นานมานี้ Notepad ยังเป็นแอปเนทีฟและเปิดได้เร็ว แต่พอถูกเขียนใหม่เป็นแอป UWP ก็ช้าลง ช้ามากขึ้น แต่ก็ยังขาดฟีเจอร์อยู่ดี เป็นความช้าลงที่ผู้ใช้ไม่ได้ประโยชน์อะไรเลย
- Windows Terminal ดีกว่าสมัยก่อนมาก แต่ก็หนักอย่างสังเกตได้ชัด หากเพิ่ม PowerShell เข้าไป อาจต้องใช้เวลาหลายวินาทีกว่าจะเปิดหน้าต่างเทอร์มินัลใหม่ เว้นแต่จะใช้ฮาร์ดแวร์ระดับสูงมาก
- macOS ดีกว่า Windows แต่ก็ยังมีปัญหา ความเร็วในการเปิดหน้าต่าง Settings บนเครื่องเก่ากลับเร็วกว่าอย่างชัดเจน
- Linux น่าจะได้รับผลกระทบจากปัญหานี้น้อยที่สุด Fedora Linux 38 ที่ออกในเดือน 4/2023 ยังทำงานได้ดีบนพีซีอายุ 11 ปี แต่สิ่งนี้ก็อาจเป็นภาพลวงตา เพราะเมื่อรันแอปสมัยใหม่ที่ไม่ได้พัฒนามาเพื่อ Linux โดยเฉพาะ เวลาเริ่มต้นแอปก็จะช้าลง และโดยรวมประสิทธิภาพก็ลดลง
- สิ่งที่ทำให้ฉันตกใจที่สุดคือ ตอนเข้าทำงานที่ Google ในปี 2009
- ตอนนั้น Google Search และ Gmail มีประสิทธิภาพยอดเยี่ยมและเป็นแบบอย่างให้คนอื่น
- แต่ฉันตกใจมากเมื่อเห็นว่าเครื่องมือ command line ภายในองค์กรที่ใช้งานกันนั้นช้าแค่ไหน
- ฉันคิดว่าการที่พวกเขาผลักดันเว็บแอปอย่างไม่หยุดยั้งไม่ว่าจะต้องแลกด้วยอะไรก็ตาม ได้สร้างสถานการณ์ที่เราเผชิญอยู่ในวันนี้
สาเหตุ
- ทำไมทั้งหมดนี้ถึงเกิดขึ้น? พูดว่าเป็น "Bloat" นั้นง่าย แต่ให้นิยามยาก
- Bloat อาจถูกมองว่ามีเหตุผลรองรับได้ เพราะแต่ละคนคิดเรื่อง Bloat ไม่เหมือนกัน
- สิ่งที่ทำให้ทุกอย่างช้าลงคือ "ลำดับความสำคัญ"
- ไม่มีใครให้ความสำคัญกับประสิทธิภาพอีกแล้ว นอกจากกรณีสำคัญอย่างเกม/การแปลงวิดีโอ
- สิ่งที่ผู้คน (และบริษัท) ให้ความสำคัญคือ "เวลาของนักพัฒนา": Rust และ Electron
- การพัฒนาแอปเนทีฟแยกแต่ละแพลตฟอร์มนั้นเป็นงานซ้ำซ้อน จึงเลือกใช้ Electron
- มันทำให้ทุกอย่างง่ายขึ้น แต่ก็ส่งผลอย่างมากต่อความหน่วงบนเดสก์ท็อป
- อย่างกรณีของ 1Password หรือ Spotify ก็ถูกเขียนใหม่ด้วย Electron เพื่อให้ประสบการณ์เป็นหนึ่งเดียวและลดต้นทุน
- แต่การลดต้นทุนเป็นเรื่องเพื่อบริษัท ไม่ใช่เพื่อผู้ใช้
- การลดต้นทุนนี้เปรียบเหมือนการเก็บภาษีกับพวกเราที่ต้องใช้งานมันทุกวัน
- อีกการตัดสินใจหนึ่งที่เพิ่ม latency คือการยอมรับภาษาแบบ Managed และ Interpreted ในวงกว้าง
- JDK/CLR เก่งในการปรับแต่งโปรเซสที่รันระยะยาว แต่เรื่องเวลาเริ่มต้นที่รวดเร็วไม่ใช่สิ่งที่พวกมันจัดการได้ดี
การปรับปรุงแบบครั้งเดียวถูกกลืนหายไป (One-off improvements eaten away)
- สุดท้ายขอกลับไปพูดถึงความก้าวหน้าของฮาร์ดแวร์ และปิดท้ายด้วยมุมมองเชิง pessimistic
- การปรับปรุงพิเศษที่ SSD มอบให้นั้นเป็นการเปลี่ยนแปลงแบบครั้งเดียว
- HDD เร็วขึ้นเรื่อยๆ ก็จริง แต่ไม่สามารถให้ Random I/O ที่รวดเร็วตามที่เดสก์ท็อปต้องการได้
- การเปลี่ยนไปใช้ SSD เป็นการยกระดับแบบคนละชั้น แต่เราจะได้รับประโยชน์นี้เพียงครั้งเดียวเท่านั้น
- ไม่มีเทคโนโลยีอื่นที่มอบประสบการณ์พลิกโลกแบบนี้อีกแล้ว
- ดังนั้นเมื่อประโยชน์จากเทคโนโลยีใหม่นี้ถูกซอฟต์แวร์ที่ประมาทกลืนหายไป เราก็จะกลับไปอยู่ที่เดิม
- แน่นอนว่า SSD ก็ยังเร็วขึ้นเรื่อยๆ แต่ไม่อาจสร้างความต่างมหาศาลเท่ากับตอนเปลี่ยนจาก HDD มาเป็น SSD
- คุณพิสูจน์เรื่องนี้ได้เองด้วยการลองใช้ Windows/macOS เวอร์ชันใหม่โดยไม่มี SSD
- นั่นจึงทำให้ฉันกังวลเกี่ยวกับ Apple Silicon
- จำประสิทธิภาพอันยอดเยี่ยม แบตเตอรี่ที่ใช้งานได้นานมาก และความเงียบไร้พัดลมตอน M1 เปิดตัวได้ไหม?
- หากเรายังคงเดินหน้าอย่างประมาท ข้อดีเหล่านี้ก็จะหายไปเช่นกัน และเมื่อถึงตอนนั้นก็อาจสายเกินไป
- การเสริมประสิทธิภาพให้แอปพลิเคชันที่มีอยู่แล้วนั้นยากมากทั้งในเชิงเทคนิค และแทบเป็นไปไม่ได้เลยที่จะทำให้มันเป็นลำดับความสำคัญภายในองค์กร
- แล้วสถาปนิกคอมพิวเตอร์จะช่วยเราด้วยการเปลี่ยนแปลงทางเทคโนโลยีครั้งใหญ่อื่นได้ไหม? ฉันไม่อยากพึ่งพาสิ่งนั้น ไม่ใช่เพราะมันอาจเป็นไปไม่ได้ แต่เพราะเราไม่ควรจำเป็นต้องรอการเปลี่ยนแปลงแบบนั้นต่างหาก
เวอร์ชันที่ GN⁺ สรุปไว้ (เก็บไว้เพื่อบันทึก)
- เธรดบนทวิตเตอร์ที่เปรียบเทียบความตอบสนองของคอมพิวเตอร์เก่ากับใหม่ได้รับ 8.8K ไลก์
- ในวิดีโอ แอปบนคอมพิวเตอร์เก่าเปิดขึ้นทันที ขณะที่แอปบนคอมพิวเตอร์ใหม่มีความหน่วงอย่างเห็นได้ชัด
- ผู้เขียนตั้งคำถามว่าทำไมทั้งที่ฮาร์ดแวร์พัฒนาขึ้น แต่ความหน่วงของส่วนติดต่อผู้ใช้บนคอมพิวเตอร์สมัยใหม่กลับแย่ลง
- เมื่อแก้ข้อบกพร่องในการเปรียบเทียบแล้ว ผลลัพธ์ก็ยังเหมือนเดิม
- มีการพูดถึงความก้าวหน้าทางเทคโนโลยี เช่น กราฟิก จอความละเอียดสูง และเครือข่ายความเร็วสูง
- มีการเสนอว่าความหน่วงของส่วนติดต่อผู้ใช้บนคอมพิวเตอร์สมัยใหม่แย่มากและกำลังแย่ลง
- มีการยกตัวอย่างแอปที่ช้าบน Windows, macOS และ Linux
- มีการเสนอว่าซอฟต์แวร์ที่หนัก เฟรมเวิร์ก และภาษาแบบ managed เป็นสาเหตุของปัญหาความหน่วง
- มีความกังวลว่าอนาคตของ Apple Silicon อาจถูกบั่นทอน เพราะข้อดีของ SSD ถูกชดเชยด้วยซอฟต์แวร์ที่ประมาท
- การปรับปรุงประสิทธิภาพให้แอปพลิเคชันเดิมนั้นยากทั้งในเชิงเทคนิคและเชิงองค์กร
- ตามมุมมองของสถาปนิกคอมพิวเตอร์ การเปลี่ยนแปลงทางเทคโนโลยีแบบปฏิวัติอาจไม่สามารถช่วยเราได้
- การทำงานทางไกลไม่ใช่วิธีแก้ปัญหาความหน่วง
- การพัฒนาโอเพนซอร์สในยุค 90 และ 2000 ก็ทำให้การทำงานแบบกระจายตัวเต็มรูปแบบและอะซิงโครนัสเป็นไปได้อยู่แล้ว
- ความหน่วงของคอมพิวเตอร์เป็นปัญหามาตั้งแต่อย่างน้อยปี 1977
- คอมพิวเตอร์ที่ Dan Luu พบว่ามีความหน่วงดีที่สุดเป็นผลิตภัณฑ์จากปี 1983 แต่ไม่สามารถรองรับเวิร์กโหลดสมัยใหม่ได้
11 ความคิดเห็น
พวกเขาเลือกการบำรุงรักษาแทนประสิทธิภาพ และแนวคิดที่จะชดเชยต้นทุนนั้นด้วยพัฒนาการของฮาร์ดแวร์ ก็คงพาเรามาถึงจุดนี้แล้วกระมัง
ตอนที่ MacBook Air ปี 2010 ช้าจนเกินทน ผมก็พยายามติดตั้ง Snow Leopard ลงไป และมันเร็วแบบเหลือเชื่อเลยครับ แน่นอนว่าไม่ได้เอามาใช้งานจริงก็ตาม..
เริ่มรู้สึกแล้วว่าบริษัทต่าง ๆ ไม่ได้ให้ความสำคัญกับประสิทธิภาพเป็นลำดับแรกอีกต่อไปแล้ว
แต่การลดต้นทุนนั้นเป็นไปเพื่อบริษัท ไม่ได้เป็นไปเพื่อผู้ใช้
เป็นประเด็นที่ชวนให้คิดหลายอย่างเลยนะครับ
ขอบคุณครับ อ่านแล้วรู้สึกเห็นด้วยมาก
เวลาเปิดเมนูคลิกขวาบนเดสก์ท็อป Windows ไม่ว่าจะเมื่อ 20 ปีก่อนหรือตอนนี้ก็ยังต้องมองนาฬิกาทรายรอ รู้สึกว่ามันช้าอยู่ดี (หลังจากครั้งแรกแล้วก็ดีขึ้นหน่อย แต่ก็ยังน่ารำคาญมาก)
เห็นได้ชัดว่าฮาร์ดแวร์เร็วขึ้น แต่ดูเหมือนซอฟต์แวร์จะไม่ได้เป็นแบบนั้นครับ
ฉันเหมือนเคยเห็นเว็บไซต์ที่รวบรวมเฉพาะแอปพลิเคชันเบา ๆ ไว้พร้อมกับพูดถึงเรื่องคล้าย ๆ กัน (น่าจะเป็นฝั่ง linux) ... แต่พอลองหาเข้าจริงกลับไม่เจอเลย ฮ่าๆ
ขอบคุณที่ให้อ่านครับ
อะไรสำคัญกันแน่?
สมัยที่ทำกันด้วย WinAPI ล้วน ๆ นั้น UI ดูเรียบร้อยและตอบสนองไวมาก
ทุกวันนี้มีทั้งเฟรมเวิร์ก UI สารพัดแบบปะปนกัน ไหนจะพวกแอปที่อิงเว็บอีก.. แค่จะยกเว็บเอนจินหรือเฟรมเวิร์กเอนจินขึ้นมาก็กินทรัพยากรไปมากแล้ว
นี่เป็นโพสต์ที่ขึ้นบน GN⁺ แต่ดูเหมือนว่าจะเข้าใจได้ยากหากอ่านจากสรุปของ AI ผมเลยสรุปเรียบเรียงใหม่อีกครั้งครับ
เห็นไหมล่ะว่าฉันพูดถูก 555...
ให้ความรู้สึกเหมือนตอนที่อีเซดลชนะเลย... ความมั่นคงในงานของพวกเรา.... ตอนนี้ยังโอเคอยู่ใช่ไหม? ;_;
ความคิดเห็นบน Hacker News