1 คะแนน โดย GN⁺ 2023-08-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 ความคิดเห็น

 
GN⁺ 2023-08-16
ความคิดเห็นจาก Hacker News
  • จากมุมมองของอดีต วิศวกร V8 SunSpider เป็นเบนช์มาร์กที่แย่มาก และแทบไม่น่าเชื่อว่ายังมีคนติดตามอยู่
    ตลอดเกือบ 15 ปีที่ผ่านมา มันพาทิศทางของวิศวกรรมประสิทธิภาพ JavaScript ไปผิดทาง และทำให้เอนจินต่าง ๆ สร้างกลเม็ดการปรับแต่งประสิทธิภาพแปลก ๆ ที่ไม่ได้ช่วยอะไรกับเว็บไซต์จริง
    V8 เลิกยึดติดกับ ไมโครเบนช์มาร์ก ส่วนใหญ่ไปนานแล้ว: https://benediktmeurer.de/2016/12/16/the-truth-about-traditi...
    นั่นไม่ได้หมายความว่าการปรับปรุงประสิทธิภาพของ Firefox ไม่สำคัญหรือไม่น่ายินดี เพียงแต่หมายความว่า SunSpider เป็นหนึ่งในเบนช์มาร์กที่แย่ที่สุดเท่าที่จะดูได้

    • พูดให้แม่นยำคือ กำลังติดตามอยู่ในความหมายที่ว่ายังรันมันอยู่ในฐานะส่วนหนึ่งของแดชบอร์ดเก่า
      ต้นทุนต่ำ และบางครั้งก็ช่วยจับ การถดถอยของประสิทธิภาพ ที่ไม่ได้ตั้งใจได้
      ทีม SpiderMonkey ก็เห็นด้วยเต็มที่ว่าควรมองข้ามไมโครเบนช์มาร์ก พวกเขาให้ความสำคัญกับ Speedometer ซึ่งค่อนข้างสัมพันธ์กับประสิทธิภาพจริงได้ดี และสำหรับ JetStream2 ก็เลือกดูเฉพาะบางส่วนที่จำเป็น
      อะไรที่เก่ากว่านั้นไม่ใช่เป้าหมาย แต่เป็นแค่ไม้บรรทัดวัดผลเท่านั้น ดังนั้นถ้าตัวเลขดีขึ้นก็ถือว่าดี แต่จะเกิดขึ้นก็ต่อเมื่อเป็นผลข้างเคียงของงานที่ทำด้วยเหตุผลอื่น
      โดยเฉพาะการปรับปรุง SunSpider ในกราฟนี้เป็นผลข้างเคียงจาก งานด้าน Speedometer ที่ทำมาตลอดปีนี้
    • ลิงก์ที่ยกมานั้นกำลังสนับสนุน Speedometer และในนั้นเป็นที่รู้กันอยู่แล้วว่า Firefox แซง Chrome ไปแล้ว
      https://news.ycombinator.com/item?id=36770883
    • Firefox ติดตามประสิทธิภาพในเบนช์มาร์กหลายตัว
      เมื่อดูประสิทธิภาพเทียบกับ Chrome ในหลายรายการตลอด 1 ปีที่ผ่านมา เป็นเรื่องน่ากำลังใจที่เห็นว่าหลายรายการมีการปรับปรุงอย่างต่อเนื่อง
      https://arewefastyet.com/win10/benchmarks/overview?numDays=3...
    • เบนช์มาร์กที่อิงกับเว็บไซต์จริงดูเหมือนจะเป็นทั้งความคิดที่ดีและไม่ดี
      เหตุผลที่ดีนั้นชัดเจน แต่เหตุผลที่ไม่ดีคือมันสร้าง ฟีดแบ็กลูป ผู้คนพัฒนาตามประสิทธิภาพ และประสิทธิภาพก็ถูกปรับปรุงตามสิ่งที่ผู้คนพัฒนา
      อยากรู้ว่าทีม V8 จัดการกับปัญหาแบบนี้อย่างไร
    • หากมองอย่างเป็นธรรม ตอนที่ SunSpider ออกมาครั้งแรก มันสะท้อนคอขวดสำคัญของเอนจิน JavaScript ที่มีอยู่บนเว็บในเวลานั้นได้ค่อนข้างแม่นยำ
      เรื่องนี้ก็ใช้กับ 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

  • กล่าวคือ “Firefox เอาชนะ Chrome ได้อย่างง่ายดายในเบนช์มาร์ก JavaScript อายุ 10 ปี” และในขณะเดียวกัน “ใน JetStream 2.0 ที่ใหม่กว่าและท้าทายกว่า Google Chrome ก็ยังเอาชนะ Firefox ได้อย่างง่ายดาย”

    • บน macOS นั้น Safari ทิ้งห่าง Chrome ด้วยช่องว่างที่มากกว่านั้นอีก
    • ผมชอบ Firefox มาก แต่พออ่านแล้วก็รู้สึกขมขื่นนิดหน่อย
  • ควรชี้ให้เห็นว่า SunSpider ไม่ได้อัปเดตมาตั้งแต่ปี 2013
    JetStream เป็นตัวแทนของเวิร์กโหลด JavaScript สมัยใหม่ได้ดีกว่า แต่ช่องว่างในเบนช์มาร์กนั้นก็กำลังแคบลงเช่นกัน

  • กำลังทำงานกับเอนจิน V8 อยู่ และมันเป็น ทุ่งกับระเบิดของการยกเลิกการปรับให้เหมาะสม ที่ทำให้สิ่งที่ไม่คาดคิดช้าลง
    โครงสร้างของ exception handler สามารถเปลี่ยนลักษณะด้านประสิทธิภาพของโค้ดได้อย่างมาก และ async/await ก็แทบจะขึ้นอยู่กับดวงจริง ๆ บางครั้ง Promise เร็วกว่า บางครั้งบล็อก async ก็เร็วกว่า
    ความช้าบางส่วนโทษได้ว่าเกิดจากสเปกที่ไม่ดีพอ ไม่เข้าใจว่าทำไมการ destructuring ด้วย ... ถึงใช้ iterator
    แต่ก็สงสัยว่าทีม V8 กำลังไล่ตาม benchmark มากกว่าโค้ดจริงที่ไม่ได้เขียนมาอย่างสมบูรณ์แบบหรือเปล่า

    • ถ้า ... ใช้ iterator ไม่ได้ โดยเฉพาะพลังของ generator ก็คงจะลดลงไปมาก
    • ทีม V8 ไม่ทำแบบนั้น
      ที่ประสิทธิภาพของ V8 ใน benchmark นี้หยุดนิ่ง เป็นเพราะพวกเขาไม่ใส่ใจกับมันมานานแล้ว
      น่าเสียดายที่ Firefox มีแรงจูงใจให้ต้องใส่ใจ เพราะถึง benchmark จะไม่สำคัญ แต่ถ้าดูเหมือนตามหลังก็ยังดูแย่อยู่ดี
    • จริง ๆ แล้วไม่ใช่ตรงกันข้ามหรือ? https://v8.dev/blog/real-world-performance
      เหมือนเคยมีบทความที่ใหม่กว่านี้ซึ่งพูดถึงหัวข้อนี้ด้วยตัวเลขและตัวอย่าง แต่ตอนนี้หาไม่เจอ อาจเป็นบล็อกของทีม 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 ใช้ง่ายกว่ามาก
      ผมไม่ชอบดีไซน์ของ Firefox แต่แก้ได้ด้วยธีมและแอดออน
    • ถ้าปัญหาอยู่ที่ UI ก็ลองปรับ userchrome.css ดูสักหน่อยก็ได้
      ผมทำแบบนั้นเพื่อใช้ treestyletab ในแบบที่ต้องการ และถ้าใส่ใจกับ UI แล้ว userchrome.css ให้อิสระได้ค่อนข้างมาก
      แถมยังซิงก์ข้ามอุปกรณ์ด้วย Nextcloud ไว้แล้ว เลยไม่ต้องแก้ทีละเครื่อง
    • ผมก็อยากให้ UI เปลี่ยนไปนิดหน่อยคล้าย ๆ กัน
      ไม่จำเป็นต้องหวือหวา แค่เรียบง่ายประมาณ 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 ก็ใช้งานได้ดีกว่าที่คิด