ค่าย Mozilla เริ่มเดินหน้าพัฒนา Firefox ให้แยกโพรเซสการทำงานของเบราว์เซอร์แบบเดียวกับ Chrome
โครงการนี้มีชื่อว่า Electrolysis ซึ่งเราเห็นความคืบหน้าของโครงการนี้ไปบ้างแล้วใน Firefox 3.6.4 ที่แยกโพรเซสของปลั๊กอินออกไป อย่างไรก็ตาม การแยกโพรเซสของแต่ละหน้าต่าง-แท็บยังไม่เกิดขึ้น
Chris Blizzard ผู้บริหารของ Mozilla ได้เขียนอธิบายเป้าหมายของโครงการแยกโพรเซสลงในบล็อก โดยแบ่งเป็นประเด็นต่างๆ ดังนี้
ด้านประสิทธิภาพ การแยกโพรเซสจะช่วยให้ garbage collector สำหรับคืนหน่วยความจำมีขนาดเล็กลง (แต่มีจำนวนมากขึ้น) ทำให้การตอบสนองของหน้าต่างเบราว์เซอร์ดีขึ้น แต่เราก็จะยังเห็นการหยุดทำงานของเบราว์เซอร์เป็นระยะๆ อยู่ดี ("ระยะ" ในที่นี้สั้นมากเป็นหลัก ms นะครับ) ทำให้นักพัฒนาของ Mozilla ต้องปรับแต่งประสิทธิภาพเพิ่มเติมกันอีก และกำหนดว่าการหยุดทำงานจะต้องไม่เกินครั้งละ 50 ms
ด้านการใช้ประโยชน์จากซีพียูแบบมัลติคอร์ ปกติแล้วเว็บเพจหนึ่งหน้าจะถูกประมวลผลโดยมองเป็น DOM หนึ่งชุด เมื่อเบราว์เซอร์แยกโพรเซสการทำงาน ก็จะสามารถกระจาย DOM แต่ละตัวไปยังซีพียูแต่ละคอร์ได้ ทำให้ใช้ประโยชน์จากซีพียูแบบมัลติคอร์ได้มากขึ้น
ย่อหน้าข้างต้นคือ "1 DOM = 1 โพรเซส = 1 เธร็ด" แต่ Mozilla ยังคิดไปไกลถึง "1 DOM = 1 โพรเซส = หลายเธร็ด" ซึ่งจะใช้ประโยชน์จากการประมวลผลแบบขนานได้ยิ่งขึ้นไปอีก แต่ยังเป็นอนาคตอีกไกล (รายละเอียดดูในโครงการ RUST)
ด้านการจัดการหน่วยความจำ ปัญหาที่เราเรียกกันว่า memory leak เป็นปัญหาอมตะของแอพพลิเคชันทุกตัวที่เขียนด้วย C/C++ และเปิดโพรเซสค้างไว้นานๆ เพราะหน่วยความจำที่จองเอาไว้จะกระจัดกระจายอยู่ตามตำแหน่งต่างๆ (memory fragmentation) และทำให้การทำงานของแอพพลิเคชันช้าลง
Mozilla บอกว่าจะต้องหากระบวนการจัดการหน่วยความจำที่ดีกว่านี้ ให้การจองหน่วยความจำสามารถพยากรณ์ได้มากขึ้น
ด้านการป้องกันการแครช เรื่องการแครชจะคล้ายๆ กับ Chrome คือการแยกโพรเซสมีประโยชน์มากในการป้องกันการแครชเป็นแท็บ และสามารถนำข้อมูลการแครชมาวิเคราะห์ได้แม่นยำมากขึ้น
ด้านความปลอดภัย การแยกโพรเซสจะช่วยให้จำกัดบางโพรเซสไม่ให้เข้าถึงทรัพยากรบนเครื่องได้ สิ่งที่ตามมาคือความปลอดภัยที่ดีขึ้น แต่สถาปัตยกรรมนี้ยังไม่สมบูรณ์นัก เพราะโพรเซสของตัวหน้าต่างยังเข้าถึงทรัพยากรได้มากกว่า ทาง Mozilla บอกว่าจะแก้ปัญหานี้ต่อไป
ที่มา - Chris Blizzard, CNET
หมายเหตุ: บล็อกต้นฉบับลงรายละเอียดเรื่องการทำงานของโพรเซสค่อนข้างดี ใครสนใจวิชาระบบปฏิบัติการ ควรตามไปอ่านกัน
Comments
กว่าจะมี
การปรับของเก่าให้มีความสามารถเหมือนของใหม่ ยากกว่า การเขียนของใหม่ให้มีความสามารถตามแผน นะ
samsung ใหญ่แค่ใหน ?
https://youtu.be/6Afpey7Eldo
ถ้าอัพเกรดเวอร์ชันแล้ว addons ยังใช้ได้ ผมจะรัก Firefox มากกว่าเดิมเยอะเลย
อาจจะได้เวลาโยนซิงเกิลคอร์ทิ้งแล้วสินะ
จากประสบการณ์ พบว่าการแยกโพรเซสแบบ Chrome มันทำให้อืดนรกแตกบน Single core
มีใครเจอแบบผมมั่งมั๊ยครับ?
ดีแล้วล่ะ เปิด flash แล้วบางทีเปลี่ยน tab แทบไม่ได้
ผมว่ามันน่าจะแยกได้ตั้งนานแล้วนะ บางทีไปเจอเว็บไหน Java Script เดี้ยง แท็บที่เปิดไว้ไปหมดเลย -*-
ผมนึกว่ามีมานานแล้วซะอีก = _=) !
ถึงมาช้า ก็ดีใจครับ
FireFox คุณนี่มาเอาแบบอย่าง Chrome!!!
ใช้ chrome สิครับ อะฮิๆๆๆๆ
แยกแบบนี้ก็ดีนะครับ บางแท๊ปจะได้ไม่ค้างตามหากมัน Error เจอประจำ
แสดงว่าผมจะไม่เห็นอาการเปิด FF แล้วหยุดกึ๊กราว 10 วิ(ชึ้นไป)
เพื่อโหลดสารพัดปลั๊กอินและ history ในช่วงแรกแล้วใช่ไหม
อาการนี้ ผมก็เป็น ทำให้หมดอารมณ์ ใช้ FF เลย เพราะผมจะกดรัวๆๆๆๆ ใส่แล้วมันก็ crash ไป
ผมก็เบื่อ แบบว่าไม่ตอบสนอง
เป็นเหมือนกัน ไปเปิด Chrome แม่งู เลย
WE ARE THE 99%
+64 นึกว่าผมเป็นคนเดียวซะอีก
WE ARE THE 99%
ie9 ก็มีน้า
Electrolysis นึกถึงตอนเรียนเคมีตอน ม.สี่ เลย
ก็ดีครับ
แล้วอย่างที่ยังไม่เห็น Browser ตัวไหน Cache หน้าปัจจุบันโดยไม่โหลดหนัก คล้ายภาพนิ่ง(ขั้นต่ำ Scroll ไม่ได้คล้าย Tab Groups ถ้า Scroll เหมือนหน้าเว็บปกติได้ยิ่งดี)ก็ยังดีโดยมีสัญลักษณ์บ่งบอก(Indicator)ว่าเป็นหน้าเก่าก่อนบันทึก(แบบ Save and Quit ใน Firefox)ก่อนปิดโปรแกรม Application อย่างน้อยก็ถือว่าปิด Flash ที่ไม่จำเป็นได้ โดยที่ยังสามารถดูเนื้อหาได้(แต่ก็ควรเปิดช่องให้ Cache จริงคงเหลือบ้าง หรือปรับแต่ได้ เพราะบางอย่างเป็น Script ที่ต้อง Active เพื่อทำให้เว็บแสดงผลได้สมบูรณ์ และบางอย่างก็ไม่ได้กินทรัพยากรมาก) จะมีโอกาสได้เห็นไหมหน๋อ~
อยากลองใช้เร็วๆ
ล่าสุดมันกินแรมไป 1.5 GB ทั้งที่เปิด 2 tab เท่านั้นเอง
ไม่รู้ทำไม...