谷歌宣布他們不再對該公司的Octane JavaScript 基準測試提供支持,理由是這套測試缺乏實用價值;此外還有跡象表明Chrome正在籌劃巨變。
在一篇博客中,谷歌聲稱這套測試在早期是很有用的,但之后就變得過時了。它無法反映如今構建網頁的普遍方式。
Octane幫助引擎開發者進行優化工作,從而使計算密集型應用程序在JavaScript上獲得足夠的性能,令JavaScript成為C++或Java的可行替代。
然而到了2015年,大多數JavaScript的實現都為在Octane中獲得高分而使用了編譯器優化措施。此外,我們開始注意到令Octane跑分更高的JavaScript優化經常在實際應用場景中產生相反的效果。
此事件的諷刺之處在于,谷歌被他們的競爭對手在自家的測試中擊敗了。在一個宣傳頁面上,微軟聲稱在Octane 2.0測試中Edge比Chrome更快,強調“谷歌自己的性能測試顯示微軟Edge比Chrome和Firefox更快。”
不過微軟這邊看起來也認可谷歌的說法,覺得基準測試難以反映實際應用的情況:
經常有人問我們關于JavaScript測試成績的話題。雖說測試成績并不總是與實際應用性能直接相關,但它在高級別上自有用途,可以在縱向對比改進的程度。
Brian Terlson是微軟Chakra JavaScript引擎的程序經理。他在Hacker News上的一條評論寫道“Octane作為基準測試是很好的,但我們必須在一大堆測試中找到平衡點,最后還是要把工作落實到實際應用中(這是我們從一開始就密切注意的事情,例如我們意識到解釋器可以加快很多實際應用的啟動速度,但對Octane成績沒什么幫助)”。
顯然瀏覽器廠商覺得他們已經掌握了大多數提升JavaScript性能的訣竅了。通過類似WebAssembly這樣的功能,我們可以用不同于過去多年以來的方式獲得性能改進。現在更重要的是提升用戶的實際體驗,所以我們需要全新的基準測試工具。
很多跡象表明Speedometer是現有的一個不錯的選擇。Jeff Atwood已經為它背書,Chromium團隊的一篇博文也給出了同樣的看法。Speedometer使用流行的TodoMVC樣例來測試瀏覽器性能。Brower Bench也有一個瀏覽器圖形測試(Motion Mark)和一個JavaScript測試(JetStream)。
Chromium團隊的博客還說他們正在基于現代的JavaScript模式籌劃改進JavaScript性能,暗示他們正在準備大干一場:
等著更新到我們全新的引擎架構吧,這是為現實應用打造的成果。
Octane仍可通過GitHub訪問,開發者可以繼續使用它。
查看英文原文:Google Retires Octane JavaScript Benchmark
感謝張衛濱對本文的審校。