ในที่สุด Firefox ก็แซง Google Chrome บน SunSpider
(phoronix.com)- Firefox เร็วกว่า Chrome แล้วใน SunSpider JavaScript benchmark รุ่นเก่า แต่การทดสอบนี้มีลักษณะที่ถูกแทนที่ด้วย JetStream ไปมากแล้ว
- ล่าสุด Firefox Nightly News ระบุว่า Firefox ดูเหมือนจะแซง Chrome บน SunSpider และตัวเลขที่เผยแพร่ก็แสดงให้เห็นว่า Firefox ได้เปรียบ
- แหล่งที่มาของ benchmark คือ AreWeFastYet.com และสิ่งที่นำมาเปรียบเทียบคือการทดสอบประสิทธิภาพ JavaScript ที่มีอายุราว 10 ปี
- ใน JetStream 2.0 ที่ใหม่กว่าและมีภาระงานหนักกว่า Google Chrome ยังคงนำ Firefox ได้อย่างสบาย
- ในช่วงประมาณหนึ่งเดือนที่ผ่านมา Firefox ได้ปรับปรุงหลายด้าน นอกเหนือจากความเร็วในการรัน SunSpider เช่น ความเร็วอัปโหลด HTTP/2
Firefox ได้เปรียบบน SunSpider รุ่นเก่า
- นักพัฒนา Mozilla มองในเชิงบวกต่อผลลัพธ์ที่ Firefox ทำได้เร็วกว่า Google Chrome ใน SunSpider JavaScript benchmark
- SunSpider เป็น benchmark สำหรับ JavaScript ที่มีอายุราว 10 ปี และปัจจุบันถูกแทนที่ด้วย benchmark JetStream แล้ว
- ล่าสุด Firefox Nightly News ระบุว่า “We’re now apparently beating Chrome on the SunSpider JavaScript benchmark!”
- ตัวเลขที่เผยแพร่แสดงแนวโน้มว่า Firefox แซง Chrome ได้อย่างสบายใน benchmark JavaScript รุ่นเก่านี้
- ข้อมูล benchmark มาจาก AreWeFastYet.com
Chrome ยังคงได้เปรียบใน benchmark รุ่นล่าสุด
- ใน benchmark JetStream 2.0 ที่ใหม่กว่าและมีข้อกำหนดสูงกว่า Google Chrome ยังคงแซง Firefox ได้อย่างสบาย
- Firefox ได้ยกระดับความเร็วในการรัน SunSpider JavaScript benchmark ขึ้นอย่างมากในช่วงประมาณหนึ่งเดือนที่ผ่านมา
- ในช่วงเวลาเดียวกัน ยังมีการทำงานหลายอย่างควบคู่กันไป รวมถึง การปรับปรุงความเร็วอัปโหลด HTTP/2
- สามารถดูความเปลี่ยนแปลงในบิลด์ Firefox Nightly ล่าสุดได้ที่ Firefox Nightly News
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
จากมุมมองของอดีต วิศวกร V8 SunSpider เป็นเบนช์มาร์กที่แย่มาก และแทบไม่น่าเชื่อว่ายังมีคนติดตามอยู่
ตลอดเกือบ 15 ปีที่ผ่านมา มันพาทิศทางของวิศวกรรมประสิทธิภาพ JavaScript ไปผิดทาง และทำให้เอนจินต่าง ๆ สร้างกลเม็ดการปรับแต่งประสิทธิภาพแปลก ๆ ที่ไม่ได้ช่วยอะไรกับเว็บไซต์จริง
V8 เลิกยึดติดกับ ไมโครเบนช์มาร์ก ส่วนใหญ่ไปนานแล้ว: https://benediktmeurer.de/2016/12/16/the-truth-about-traditi...
นั่นไม่ได้หมายความว่าการปรับปรุงประสิทธิภาพของ Firefox ไม่สำคัญหรือไม่น่ายินดี เพียงแต่หมายความว่า SunSpider เป็นหนึ่งในเบนช์มาร์กที่แย่ที่สุดเท่าที่จะดูได้
ต้นทุนต่ำ และบางครั้งก็ช่วยจับ การถดถอยของประสิทธิภาพ ที่ไม่ได้ตั้งใจได้
ทีม SpiderMonkey ก็เห็นด้วยเต็มที่ว่าควรมองข้ามไมโครเบนช์มาร์ก พวกเขาให้ความสำคัญกับ Speedometer ซึ่งค่อนข้างสัมพันธ์กับประสิทธิภาพจริงได้ดี และสำหรับ JetStream2 ก็เลือกดูเฉพาะบางส่วนที่จำเป็น
อะไรที่เก่ากว่านั้นไม่ใช่เป้าหมาย แต่เป็นแค่ไม้บรรทัดวัดผลเท่านั้น ดังนั้นถ้าตัวเลขดีขึ้นก็ถือว่าดี แต่จะเกิดขึ้นก็ต่อเมื่อเป็นผลข้างเคียงของงานที่ทำด้วยเหตุผลอื่น
โดยเฉพาะการปรับปรุง SunSpider ในกราฟนี้เป็นผลข้างเคียงจาก งานด้าน Speedometer ที่ทำมาตลอดปีนี้
https://news.ycombinator.com/item?id=36770883
เมื่อดูประสิทธิภาพเทียบกับ Chrome ในหลายรายการตลอด 1 ปีที่ผ่านมา เป็นเรื่องน่ากำลังใจที่เห็นว่าหลายรายการมีการปรับปรุงอย่างต่อเนื่อง
https://arewefastyet.com/win10/benchmarks/overview?numDays=3...
เหตุผลที่ดีนั้นชัดเจน แต่เหตุผลที่ไม่ดีคือมันสร้าง ฟีดแบ็กลูป ผู้คนพัฒนาตามประสิทธิภาพ และประสิทธิภาพก็ถูกปรับปรุงตามสิ่งที่ผู้คนพัฒนา
อยากรู้ว่าทีม V8 จัดการกับปัญหาแบบนี้อย่างไร
เรื่องนี้ก็ใช้กับ V8 ด้วย และแม้ V8 จะออกชุดเบนช์มาร์กของตัวเองตอนเปิดตัว แต่มันให้น้ำหนักกับการเข้าถึงพร็อพเพอร์ตีมากเกินไป และยังครอบคลุมด้านการโหลดหน้าเริ่มต้นที่ SunSpider บังเอิญแตะถึงได้ไม่ดีพอ
แน่นอนว่านั่นคือเรื่องเมื่อ 15 ปีก่อน จึงยากจะมองว่าเบนช์มาร์กในเวลานั้นยังสะท้อนอะไรที่มีประโยชน์ในตอนนี้ และทุกวันนี้แทบไม่มีคุณค่ามากนักนอกจากการตรวจจับ regression
ผมใช้แต่ Firefox บนคอมพิวเตอร์และโทรศัพท์ทุกเครื่องที่มี
จนถึงตอนนี้พอใจกับประสิทธิภาพมาก และหวังอย่างจริงใจว่ามันจะดีขึ้นต่อไป ตัวเลือกอันดับสองเมื่อใช้ Firefox ไม่ได้คือ Brave ส่วน Chromium เป็นตัวเลือกสุดท้ายที่สุด
บน Firefox ขอแนะนำส่วนขยายเหล่านี้อย่างยิ่ง: AdNauseam https://addons.mozilla.org/en-US/firefox/addon/adnauseam/, Consent-O-Matic https://addons.mozilla.org/en-US/firefox/addon/consent-o-mat..., Firefox Multi-Account containers https://addons.mozilla.org/en-US/firefox/addon/multi-account..., I don't care about cookies https://addons.mozilla.org/en-US/firefox/addon/i-dont-care-a...
อย่างที่มีคนกล่าวไว้ด้านล่าง หากคุณไม่ไว้วางใจ Avast ก็ควรหลีกเลี่ยง Consent-O-Matic
https://www.theregister.com/2022/09/21/avast_buys_i_dont_car...
หากคุณไม่ไว้วางใจ Avast น่าจะดีกว่าถ้าย้ายไปใช้ฟอร์กชื่อ I still don't care about cookies: https://github.com/OhMyGuus/I-Still-Dont-Care-About-Cookies
กล่าวคือ “Firefox เอาชนะ Chrome ได้อย่างง่ายดายในเบนช์มาร์ก JavaScript อายุ 10 ปี” และในขณะเดียวกัน “ใน JetStream 2.0 ที่ใหม่กว่าและท้าทายกว่า Google Chrome ก็ยังเอาชนะ Firefox ได้อย่างง่ายดาย”
ควรชี้ให้เห็นว่า SunSpider ไม่ได้อัปเดตมาตั้งแต่ปี 2013
JetStream เป็นตัวแทนของเวิร์กโหลด JavaScript สมัยใหม่ได้ดีกว่า แต่ช่องว่างในเบนช์มาร์กนั้นก็กำลังแคบลงเช่นกัน
กำลังทำงานกับเอนจิน V8 อยู่ และมันเป็น ทุ่งกับระเบิดของการยกเลิกการปรับให้เหมาะสม ที่ทำให้สิ่งที่ไม่คาดคิดช้าลง
โครงสร้างของ exception handler สามารถเปลี่ยนลักษณะด้านประสิทธิภาพของโค้ดได้อย่างมาก และ
async/awaitก็แทบจะขึ้นอยู่กับดวงจริง ๆ บางครั้ง Promise เร็วกว่า บางครั้งบล็อก async ก็เร็วกว่าความช้าบางส่วนโทษได้ว่าเกิดจากสเปกที่ไม่ดีพอ ไม่เข้าใจว่าทำไมการ destructuring ด้วย
...ถึงใช้ iteratorแต่ก็สงสัยว่าทีม V8 กำลังไล่ตาม benchmark มากกว่าโค้ดจริงที่ไม่ได้เขียนมาอย่างสมบูรณ์แบบหรือเปล่า
...ใช้ iterator ไม่ได้ โดยเฉพาะพลังของ generator ก็คงจะลดลงไปมากที่ประสิทธิภาพของ V8 ใน benchmark นี้หยุดนิ่ง เป็นเพราะพวกเขาไม่ใส่ใจกับมันมานานแล้ว
น่าเสียดายที่ Firefox มีแรงจูงใจให้ต้องใส่ใจ เพราะถึง benchmark จะไม่สำคัญ แต่ถ้าดูเหมือนตามหลังก็ยังดูแย่อยู่ดี
เหมือนเคยมีบทความที่ใหม่กว่านี้ซึ่งพูดถึงหัวข้อนี้ด้วยตัวเลขและตัวอย่าง แต่ตอนนี้หาไม่เจอ อาจเป็นบล็อกของทีม chromium/chrome หรือคนอื่นอาจหาเจอก็ได้
ช่วงหลังมีคนพูดกันมากว่า Chrome กำลังกลายเป็นฝ่ายร้าย ผมเลยใช้เวลาหลายวันปรับแต่ง IPvFoo ส่วนขยาย Chrome ของผมให้ทำงานบน Firefox ได้อย่างถูกต้องด้วย
IPvFoo เป็นเครื่องมือสำหรับสังเกตการเปลี่ยนผ่านไปสู่ IPv6 ในเชิงเทคนิคมีเวอร์ชันสำหรับ Firefox มาตั้งแต่ปี 2017 แล้ว แต่มีบั๊กด้านความเข้ากันได้อยู่มากซึ่งผมหวังว่า Firefox จะมาแก้ให้สักวัน
สุดท้ายก็เลือกเลี่ยงปัญหาที่เหลือเอง และตอนนี้ฟีเจอร์ของ Chrome/Firefox เทียบเท่ากันบน codebase เดียวแล้ว: https://github.com/pmarks-net/ipvfoo
Firefox ที่เปิด uBO เร็วกว่าบราวเซอร์ที่ใช้ Chromium เป็นฐานมากกว่า 100%
บนบราวเซอร์ที่ใช้ Chromium เป็นฐาน uBO ทำงานได้ไม่เต็มที่เพราะข้อจำกัดต่าง ๆ
การปรับปรุงนี้เป็นของจริง
แม้ยังไม่ปล่อยเวอร์ชันจริง แต่เพิ่งทดสอบด้วย Speedometer 3.0 รุ่นล่าสุดที่เป็นโอเพนซอร์ส และใช้เวอร์ชันล่าสุดของแต่ละบราวเซอร์
Firefox Nightly(Gecko) 11.6, Safari TP(WebKit) 11.4, Chrome Canary(Blink) 9.9
https://github.com/WebKit/Speedometer
พูดตรง ๆ สำหรับผม Firefox ยังเป็นตัวเลือกอันดับสอง จนกว่า เครื่องมือดีบัก จะอยู่ในระดับเดียวกับ Chrome และปรับ UI แท็บให้ลงตัวกว่านี้อีกหน่อย
ผมอยากใช้ Firefox ทุกวัน แต่พอใช้แล้วรู้สึกว่าความเร็วในการพัฒนาของตัวเองลดลง
ผมไม่ชอบดีไซน์ของ Firefox แต่แก้ได้ด้วยธีมและแอดออน
ผมทำแบบนั้นเพื่อใช้ treestyletab ในแบบที่ต้องการ และถ้าใส่ใจกับ UI แล้ว userchrome.css ให้อิสระได้ค่อนข้างมาก
แถมยังซิงก์ข้ามอุปกรณ์ด้วย Nextcloud ไว้แล้ว เลยไม่ต้องแก้ทีละเครื่อง
ไม่จำเป็นต้องหวือหวา แค่เรียบง่ายประมาณ Chromium ค่าเริ่มต้นก็พอ
ช่วงหลังผมเห็น performance regression ของ Firefox เลยลองดูว่าจะส่ง bug report และดูเหมือนว่าเครื่องมือที่ติดตามประสิทธิภาพค่อนข้างเปิดเผยจะได้รับความสนใจ
การอัปโหลด trace profile เพื่อแชร์ได้ง่ายก็ช่วยได้: https://firefox-source-docs.mozilla.org/testing/perfdocs/ind...
ถ้าสนใจประสิทธิภาพของ Firefox ก็มีบล็อกเฉพาะทางคอยอัปเดตข่าวอยู่เรื่อย ๆ: https://blog.mozilla.org/performance/
ถ้ารู้สึกว่า Chromium เร็วกว่าชัดเจนบนบางเว็บไซต์ ก็มี https://webcompat.com/ สำหรับรายงานแบบง่าย ๆ แต่จากมุมของคนที่คุ้นกับ GitHub Issues แล้ว Bugzilla ก็ใช้งานได้ดีกว่าที่คิด