成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

前端程序員應知應會之JavaScript基準測試套件

開發 前端
為了測試V8作為JavaScript引擎的性能,Google隨后也開發了一套V8基準測試套件,在運行時,V8基準套件會載入一些特定的JavaScript代碼,從而測試引擎的內核、加密、解密、渲染等速度。而該套件也就成為了JavaScript引擎性能的標準。

本文來自公眾號活在信息時代。

對于前端程序員來說,V8引擎無疑是最為熟悉的工具之一了。V8是Google開源的JavaScript和WebAssembly引擎,用C++編寫。它用于Chrome和Node.js等。V8可以獨立運行,也可以嵌入到任何C++應用程序中。

為了測試V8作為JavaScript引擎的性能,Google隨后也開發了一套V8基準測試套件,在運行時,V8基準套件會載入一些特定的JavaScript代碼,從而測試引擎的內核、加密、解密、渲染等速度。而該套件也就成為了JavaScript引擎性能的標準。

在該套件的第七個版本中,一共包括了八項基準測試,最終得分為這八項測試得分的幾何平均數。得分越高表明速度越快。這八項測試的具體內容如下:

一、Richards基準

操作系統內核的模擬基準, 最早出現于Matin Richards開發的BCPL中(539 行)。

主要關注點:屬性加載/存儲、函數/方法調用

次要關注點:代碼優化、消除冗余代碼

二、DeltaBlue基準

單向約束求解,最早出現于 John Maloney 和 Mario Wolczko開發的Smalltalk中 (880 行)。

主要關注點:多態

次要關注點:OO 樣式編程

三、Crypto基準

Tom Wu開發的以代碼為基礎的加密解密基準(1698 行)。

主要關注點:位運算

四、RayTrace基準

Adam Burmister開發的以代碼為基礎的光線追蹤基準 (904 行)。

主要關注點:參數對象,應用

次要關注點:原型庫對象,創建模式

五、EarleyBoyer基準

經典Scheme 基準, 由Florian Loitsch的Scheme2Js編譯器翻譯為JavaScript (4684 行)。

主要關注點:快速創建、銷毀對象

次要關注點:閉包, 參數對象

六、RegExp基準

正則表達式基準,從50多個最流行的網頁中提取正則表達式操作所產生的(1761 行)。

關注點:正則表達式

七、Splay基準

數據操作基準,處理伸展樹和執行自動內存管理子系統 (394 行)。

主要關注點:快速創建、銷毀對象

八、NavierStokes基準

根據奧利弗·亨特的代碼,在2D上解決navierstokes方程,重操縱雙精度數組。(387 行).

主要關注點:讀取和寫入數字數組。

次要關注點:浮點數學運算。

V8基準測試在早期的JavaScript引擎開發過程中應用廣泛,很多JS引擎都使用該基準測試用于評測其性能。常用的JS引擎測試結果如下:

圖片

盡管V8基準測試套件非常經典,但是隨著技術的發展,Google又推出了新的基準測試套件Octane 1.0和2.0,陸續增加了下列九項測試基準:

pdf.js:在JavaScript中實現了Mozilla的PDF閱讀器。它可以測量解碼和解釋的時間(33,056行)。

主要關注點:數組和類型化數組操作。

次要關注點:數學運算和位運算,以及對未來語言功能(例如 promise)的支持

SplayLatency:Splay 測試側重于虛擬機的垃圾回收子系統。SplayLatency 對現有 Splay 代碼進行頻繁測量檢查點插樁。檢查點之間長時間暫停表示 GC 延遲時間較長。此測試衡量延遲暫停的頻率,將它們分類為分桶,并根據低分懲罰頻繁的長暫停。

主要關注點:垃圾回收延遲

Mandreel:運行3D Bullet物理引擎,該引擎通過Mandreel將C++移植到JavaScript (277377行)。

主要關注點:模擬

MandreelLatency:與SplayLatency 測試類似,此測試通過頻繁的時間測量點對 Mandreel 基準進行插樁。由于 Mandreel 對虛擬機編譯器施加壓力,因此該測試會提供編譯器引入的延遲指示。在測量點之間長時間暫停會降低最終得分。

主要關注點:編譯器延遲時間

GB Emulator:全部采用JavaScript模擬便攜式控制臺的架構,以及運行所需的3D模擬(11,097行)。

主要關注點:模擬

Code loading:測量Javascript引擎在加載了一段大型的Javascript程序后開始解碼的速度有多快,一個常見的實例為Social Widget。該測試的源代碼來自開源代碼庫(Closure, jQuery)(1,530行)。

主要關注內容:JavaScript 解析和編譯

Box2DWeb:基于流行的2D物理引擎Box2DWeb,最初由Erin Catto編寫,現被移植到JavaScript。(560行,9000+ 精簡版)

主要關注點:浮點數學運算。

次要關注點:包含 Double 的屬性、訪問器屬性。

Zlib:從 Mozilla Emscripten 套件執行的 zlib asm.js/Emscripten 測試(在工作負載 1 中運行)。代碼包含在 eval() 中,它保證我們測量的運行時間包括在所有瀏覽器上解析和編譯(2,585 行)。

主要關注點:代碼編譯和執行

Typescript:Microsoft&Type 39 TypeScript 編譯器是一款復雜的應用。此測試用于衡量 TypeScript 編譯本身所需的時間,它代表虛擬機在處理復雜、可調整大小的 JavaScript 應用(25918 行)方面的表現。

主要關注點:運行復雜、繁重的應用

除此之外,常用的JavaScript基準測試工具還有Mozilla發布的Kraken、蘋果的JetStream、以及Speedometer和Speed-Battle等。

責任編輯:武曉燕 來源: 活在信息時代
相關推薦

2023-05-06 07:24:22

程序員視頻算法

2022-09-04 19:43:05

程序員數據庫

2022-12-02 07:16:29

MySQL函數日期

2011-05-31 09:22:39

程序員

2011-05-26 10:04:30

程序員

2011-05-24 13:47:25

程序員

2011-05-31 09:37:53

程序員

2010-07-27 16:21:25

程序員

2011-06-02 09:02:36

程序員

2011-06-02 09:56:21

程序員團隊精神

2021-05-22 10:01:45

PythonPython列表Python程序開發

2011-05-31 10:50:36

程序員

2022-11-09 07:18:18

驅動測試BDD

2022-11-07 08:51:24

數據庫開發笛卡爾積

2022-07-20 00:03:10

Python列表字典推導

2019-01-30 14:14:16

LinuxUNIX操作系統

2015-11-30 11:01:34

前端程序員歷史

2015-12-04 09:33:15

程序員前端演進史

2023-05-10 08:41:40

二叉樹遍歷算法

2014-06-09 16:43:11

程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕久久精品 | 九九热这里 | 亚洲精品成人免费 | 先锋av资源网 | 精品永久 | 亚洲播放一区 | 免费日韩av | 在线一级片 | 国产高清在线视频 | 久久久亚洲一区 | 亚洲一区二区不卡在线观看 | аⅴ资源新版在线天堂 | 亚洲午夜久久久 | 成年网站在线观看 | 国产馆 | 成人免费观看男女羞羞视频 | 久久99蜜桃综合影院免费观看 | 欧产日产国产精品视频 | 国产美女黄色片 | 色必久久 | 国产精品一区二区久久久久 | 天天爽网站 | 91精品国产91久久综合桃花 | 精品欧美一区二区精品久久 | 日韩在线视频网址 | 日本不卡一区 | 99re热精品视频 | 国产精品亚洲综合 | 成人深夜福利 | 中文在线一区二区 | 精品亚洲一区二区三区四区五区 | 国产精品色综合 | 久久视频精品 | 久久成人一区 | 91影院| 91精品国产91久久久久久 | 欧美一级片在线看 | 亚洲www啪成人一区二区 | 伦理午夜电影免费观看 | 91成人免费观看 | 亚洲+变态+欧美+另类+精品 |