由於作弊情況太嚴重,Google宣將使廣受歡迎的Octane JavaScript標竿測試除役,以更新更好的測試標準取代。

Octane JavaScript是用於測試Google Chrome中的JavaScript引擎V8很常用的標竿測試。它最初是為了解決SunSpider的弊病而生。由蘋果Safari團隊開發的SunSpider早期效果也很好,但後來瀏覽器開發人員運用最佳化手法操弄SunSpider測試的得分情況太普遍,使得Google 棄SunSpider就由V8團隊開發出Octane。

Octane包含17種不同測試以涵括不同作業負載,從Martin Richard的核心模擬測試到微軟TypeScript組譯器的組譯過程等,協助開發人員測試並改善應用程式效能。2012年問世後的前幾年,Octane對Javascript VM的發展貢獻良多,它使許多運算量大的應用程式效能得以提升,讓JavaScript得以和C++或Java分庭抗禮。

然而到了2015年,Google還發現SunSpider的故事又重演;許多開發人員又開始用起最佳化手法,以便能在Octane測試中拿下高分,然而這對改善真正網頁的效能已沒有什麼實質幫助。

Google表示,若比較Octane測試和常見網站(如Facebook, Twitter或Wikipedia)的執行資料,Octane測試中並未執行V8的parser,瀏覽器載入程式堆疊(stack)的方式也不同於真正的程式碼。此外,Octane的JavaScript樣式也無法和大部份現代框架及函式庫使用的慣用語(idiom)及模式(pattern)比對。這表示Octane測試V8效能已經不再能反映真實狀況。

因此Google決定讓Octane除役。Google表示,Octane只測量JavaScript效能,未來下一個議題重點應該涵括真實網頁、現代函式庫、框架、E2015+語言功能、狀態管理的新模式、固定式物件配置(immutable object allocation)及模組合併(module bundling)、以及伺服器端JavaScript的執行效能。

Google已在去年底開發出基礎架構WebPageReplay及名為Runtime Call Stats的工具,以便能正確紀錄和重播V8效能,並且能找出它在不同作業負載下測試相異的原因。

 


Advertisement

更多 iThome相關內容