当前位置: 首页 > 工具软件 > JSI > 使用案例 >

JSI2性能测试报告

沃威
2023-12-01
 装载效率测试
  测试页面见: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托管脚本可以达到更好的运行效率。


最新内容请见作者的GitHub页:http://qaseven.github.io/

 类似资料: