Firefox cuối cùng cũng vượt Google Chrome trong SunSpider
(phoronix.com)- Firefox đã nhanh hơn Chrome trong bài benchmark JavaScript SunSpider cũ, nhưng bài kiểm tra này về cơ bản đã được thay thế bởi JetStream
- Gần đây, Firefox Nightly News cho biết Firefox có vẻ đã vượt Chrome trong SunSpider, và các số liệu công khai cũng cho thấy Firefox đang dẫn trước
- Nguồn benchmark là AreWeFastYet.com, và đối tượng so sánh là bài kiểm tra hiệu năng JavaScript đã khoảng 10 năm tuổi
- Trong JetStream 2.0 mới hơn và nặng hơn, Google Chrome vẫn dễ dàng vượt Firefox
- Trong khoảng một tháng gần đây, Firefox đã thực hiện nhiều cải tiến ngoài tốc độ chạy SunSpider, như tốc độ tải lên HTTP/2
Firefox dẫn trước trong SunSpider cũ
- Các nhà phát triển Mozilla xem việc Firefox cho kết quả nhanh hơn Google Chrome trong bài benchmark JavaScript SunSpider là một tín hiệu tích cực
- SunSpider là bài benchmark JavaScript đã khoảng 10 năm tuổi, và hiện đã được JetStream thay thế
- Gần đây, Firefox Nightly News cho biết: “We’re now apparently beating Chrome on the SunSpider JavaScript benchmark!”
- Các số liệu được công bố cho thấy Firefox đang dễ dàng vượt Chrome trong bài benchmark JavaScript cũ này
- Dữ liệu benchmark đến từ AreWeFastYet.com
Chrome vẫn giữ ưu thế trong benchmark hiện đại
- Trong bài benchmark JetStream 2.0 mới hơn và có yêu cầu cao hơn, Google Chrome vẫn dễ dàng vượt Firefox
- Trong khoảng một tháng gần đây, Firefox đã tăng mạnh tốc độ chạy benchmark JavaScript SunSpider
- Trong cùng thời gian đó, nhiều công việc khác cũng được tiến hành, bao gồm cải thiện tốc độ tải lên HTTP/2
- Có thể xem các thay đổi của bản Firefox Nightly mới nhất trong Firefox Nightly News
1 bình luận
Ý kiến trên Hacker News
Nhìn từ góc độ một cựu kỹ sư V8, SunSpider là một benchmark tệ hại, và thật khó tin là vẫn còn được theo dõi
Trong gần 15 năm qua, nó đã dẫn hướng sai cho công việc kỹ thuật hiệu năng JavaScript, khiến các engine tạo ra những mánh tối ưu hóa kỳ lạ chẳng giúp ích gì cho các trang web thực tế
V8 từ lâu đã rời xa hầu hết các microbenchmark: https://benediktmeurer.de/2016/12/16/the-truth-about-traditi...
Điều đó không có nghĩa là các cải thiện hiệu năng của Firefox không quan trọng hay không đáng mừng. Chỉ là SunSpider là một trong những benchmark tệ nhất có thể xem xét
Chi phí thấp, và đôi khi cũng bắt được những hồi quy hiệu năng ngoài ý muốn
Nhóm SpiderMonkey cũng hoàn toàn đồng ý với việc bỏ qua microbenchmark. Họ coi trọng Speedometer, vốn tương quan khá tốt với hiệu năng thực tế, còn JetStream2 thì chỉ chọn xem một số phần cần thiết
Những thứ cũ hơn không phải là mục tiêu mà chỉ là thước đo; số liệu tăng thì tốt, nhưng chỉ khi đó là hiệu ứng phụ của công việc được làm vì lý do khác
Đặc biệt, cải thiện SunSpider trong biểu đồ này là hiệu ứng phụ của công việc với Speedometer đã làm trong năm nay
https://news.ycombinator.com/item?id=36770883
Nhìn vào hiệu năng so với Chrome ở nhiều hạng mục trong một năm qua, việc thấy khá nhiều mục liên tục cải thiện là điều đáng khích lệ
https://arewefastyet.com/win10/benchmarks/overview?numDays=3...
Lý do hay thì obvious, nhưng lý do dở là vì nó tạo ra một vòng phản hồi. Người ta phát triển theo hiệu năng, và hiệu năng lại được cải thiện theo những gì người ta đã phát triển
Tôi tò mò nhóm V8 đã xử lý vấn đề kiểu này như thế nào
Điều này cũng đúng với V8; dù khi ra mắt V8 có đưa ra bộ benchmark riêng, bộ đó lại quá thiên về truy cập thuộc tính và thiếu phần tải trang ban đầu mà SunSpider tình cờ bao phủ
Tất nhiên đó là chuyện 15 năm trước, nên khó có thể nói benchmark khi ấy còn phản ánh điều gì hữu ích hiện nay; giờ nó gần như chỉ còn giá trị cho việc phát hiện hồi quy
Tôi chỉ dùng Firefox trên tất cả máy tính và điện thoại mình có
Cho đến nay tôi rất hài lòng với hiệu năng và thật lòng mong nó tiếp tục được cải thiện. Lựa chọn thứ hai khi không thể dùng Firefox là Brave, còn Chromium là lựa chọn cuối cùng
Trên Firefox, tôi rất khuyên dùng các extension này: 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...
Như đã nói bên dưới, nếu bạn không tin tưởng Avast thì nên tránh Consent-O-Matic
https://www.theregister.com/2022/09/21/avast_buys_i_dont_car...
Nếu không tin tưởng Avast, có lẽ nên chuyển sang fork có tên I still don't care about cookies: https://github.com/OhMyGuus/I-Still-Dont-Care-About-Cookies
Câu chuyện là: “Firefox dễ dàng đánh bại Chrome trong một benchmark JavaScript 10 năm tuổi”, đồng thời “trong JetStream 2.0 mới hơn và khắt khe hơn, Google Chrome vẫn dễ dàng đánh bại Firefox”
Cần chỉ ra rằng SunSpider đã không được cập nhật từ năm 2013
JetStream đại diện tốt hơn cho workload JavaScript hiện đại, nhưng khoảng cách trong benchmark đó cũng đang thu hẹp
Tôi đang làm việc với engine V8, và nó là một bãi mìn de-optimization nơi những thứ không ngờ tới lại trở nên chậm
Cấu trúc của exception handler có thể thay đổi đáng kể đặc tính hiệu năng của code, còn
async/awaitthì đúng là gần như hên xui. Có lúc Promise nhanh hơn, có lúc block async nhanh hơnMột phần việc bị chậm có thể đổ cho đặc tả yếu. Không hiểu vì sao destructuring bằng
...lại dùng iteratorNhưng tôi tự hỏi liệu đội V8 có đang chạy theo benchmark thay vì code thực tế vốn không được viết hoàn hảo hay không
...không thể dùng iterator, đặc biệt sức mạnh của generator sẽ yếu đi rất nhiềuViệc hiệu năng V8 trong benchmark này bị chững lại là vì họ đã không còn bận tâm đến nó từ lâu
Đáng tiếc là Firefox có động lực để bận tâm. Vì dù benchmark không quan trọng, trông như bị tụt lại phía sau thì vẫn tạo ấn tượng xấu
Tôi nhớ là có một bài gần đây hơn nói về chủ đề này bằng số liệu và ví dụ, nhưng giờ không tìm ra. Có thể là trên blog của đội chromium/chrome, hoặc ai đó khác có thể tìm được
Gần đây có nhiều người nói Chrome đang trở nên xấu xa, nên tôi đã dành vài ngày chỉnh lại extension Chrome của mình, IPvFoo, để nó cũng hoạt động đúng trên Firefox
IPvFoo là công cụ để quan sát quá trình chuyển đổi sang IPv6. Về mặt kỹ thuật thì từ năm 2017 nó đã có bản cho Firefox, nhưng có nhiều lỗi tương thích mà tôi từng hy vọng một ngày nào đó Firefox sẽ sửa
Cuối cùng tôi quyết định đi vòng qua các vấn đề còn lại, và giờ tính năng giữa Chrome/Firefox đã ngang bằng trên cùng một codebase: https://github.com/pmarks-net/ipvfoo
Firefox bật uBO nhanh hơn hơn 100% so với các trình duyệt dựa trên Chromium
Trên các trình duyệt dựa trên Chromium, uBO không hoạt động đúng do các hạn chế
Những cải thiện là có thật
Tôi vừa test bằng Speedometer 3.0 mới nhất, vẫn chưa phát hành nhưng là mã nguồn mở, và dùng phiên bản mới nhất của từng trình duyệt
Firefox Nightly(Gecko) 11.6, Safari TP(WebKit) 11.4, Chrome Canary(Blink) 9.9
https://github.com/WebKit/Speedometer
Thành thật mà nói, với tôi Firefox vẫn là lựa chọn thứ hai cho đến khi công cụ debug đạt ngang tầm Chrome và UI tab được trau chuốt thêm một chút
Tôi muốn dùng Firefox hằng ngày, nhưng khi dùng thì có cảm giác tốc độ phát triển của mình bị chậm lại
Tôi không thích thiết kế của Firefox, nhưng có thể sửa bằng theme và add-on
Tôi đã làm vậy để dùng treestyletab theo cách mình muốn, và nếu quan tâm đến UI thì userchrome.css cho khá nhiều tự do
Hơn nữa tôi còn đồng bộ giữa các thiết bị bằng Nextcloud, nên không cần chỉnh riêng trên từng máy
Không cần hào nhoáng, chỉ cần đơn giản như Chromium mặc định là ổn
Gần đây tôi thấy một regression hiệu năng của Firefox và định gửi bug report nên đã tìm hiểu, có vẻ các công cụ theo dõi hiệu năng khá công khai đang được chú ý
Việc có thể dễ dàng upload và chia sẻ profiling trace cũng hữu ích: https://firefox-source-docs.mozilla.org/testing/perfdocs/ind...
Nếu quan tâm đến hiệu năng Firefox, blog chuyên biệt này liên tục cập nhật tin tức: https://blog.mozilla.org/performance/
Nếu bạn cảm thấy Chromium nhanh hơn rõ rệt trên một website cụ thể, có thể báo nhanh tại https://webcompat.com/. Dù vậy, ngay cả với góc nhìn của người đã quen GitHub Issues, Bugzilla cũng ổn hơn tôi tưởng