JSI2性能測試報告
裝載效率測試
測試頁面見:test/load-eff-test.html
為了測試結果更顯客觀,我選擇了第三方類庫的裝載測試:
'com.yahoo.yui.*', 'net.conio.prototype.*', 'net.fckeditor.*', 'org.jquery.*', 'us.aculo.script.*' |
共22個腳本文件(對于JSI來說還有諾干包定義文件)。
FF2: 標記導入時間(原始方式):469,469,1047,484,484,437,469,484 同步導入時間:469,453,484,437,469,453 延遲導入時間:921,765,891,906,953,906,922 異步導入時間:859,1093,1141,1031,1641,1125,1078,1093,1157,1141 IE7: 標記導入時間:343,297,297,344,328,328 同步導入時間:281,250,235,235,234,234,250,265 延遲導入時間:922,422,406,391,391,391,407,391 異步導入時間:625,672,672,703,703,672,703,704,688 |
運行時間測試
測試腳本管理后對新能的影響,影響因素有:全局變量和局部變量的查找時間差異,eval的腳本和script標記直接插入的腳本的可能差異。(這個測試不具有普遍性,這里我主要是測試了一下瀏覽器對局部變量的訪問速度【JSI里面訪問變量都是裝載單元內的局部變量】,所以故意測試了大量局部變量訪問的操作)
測試頁面見:test/runtime-eff-test.html
FF2: jsiTime: 845, 927, 598, 687, 764, scriptTime: 1432, 950, 1305, 1278, 1219, evalTime: 1644, 1373, 1322, 1186, 1360, execTime: 0 dscriptTime: 1432, 950, 1305, 1278, 1219, IE7: jsiTime: 295, 205, 157, 315, 156, 142, 375, 328, 172, 172, scriptTime: 172, 172, 189, 140, 251, 187, 217, 203, 172, 234, evalTime: 236, 249, 139, 172, 281, 171, 172, 108, 436, 359, execTime: 219, 234, 314, 157, 220, 266, 204, 234, 187, 95, dscriptTime: 187, 265, 294, 326, 187, 328, 141, 221, 127, 249, |
上面的基數太小,隨機誤差太大,調整原始數據從新測試一遍jsiTime和scriptTime
jsiTime: 576, 658, 688, 703, 611, 608, scriptTime: 706, 608, 562, 547, 655, 657, |
總結:
JSI的裝載性能表現不錯,完全不必計較。
托管代碼的運行性能也沒有太大區別,不過,因為。JSI托管腳本使用的變量基本都是裝載單元內的局部變量(本地聲明變量,或者外部依賴的引用或值拷貝),所以,對于FF這類局部變量比全局變量訪問速度快不少的解釋引擎,JSI托管腳本可以達到更好的運行效率。
posted on 2014-01-29 10:43 順其自然EVO 閱讀(238) 評論(0) 編輯 收藏 所屬分類: 性能測試