我正在尝试测量一些跨平台解决方案的执行性能,其中包括:Titanium和PhoneGap。
这是我的性能测试器的 Titanium 版本示例,非常简单,但我只是想了解我的代码执行速度有多快:
var looplength;
var start1;
var start2;
var end1;
var end2;
var duration1;
var duration2;
var diff;
var diffpiter;
var power;
var info;
for (power = 0; power < 24; power++) {
looplength = Math.pow(2, power);
start1 = new Date().getTime();
for (iterator = 0; iterator < looplength; iterator++) {a=iterator;b=iterator;}
end1 = new Date().getTime();
start2 = new Date().getTime();
for (iterator = 0; iterator < looplength; iterator++) {a=iterator;}
end2 = new Date().getTime();
duration1 = end1 - start1;
duration2 = end2 - start2;
diff = duration1 - duration2;
diffpiter = diff / looplength;
info={title:'2^' + power + ' ' + diffpiter};
tableView.appendRow(Ti.UI.createTableViewRow(info),{animated:true});
}
电话盖版本相同,除了最后两行需要替换。
document.write('2^' + power + ' ' + diffpiter + '<br />');
这两个版本都在 iPhone 4S 上运行。我已经多次运行测试,以消除误差。
天哪,为什么 Titanium 版本的迭代时间大约是~0.0009
毫秒,而 PhoneGap 版本的迭代时间却只有 ~0.0002
毫秒?
我期望 Titanium 可以编译我的 JavaScript 代码,因此我认为它会更快。然而,在这种情况下,它至少慢了 4倍!虽然我不是性能测试专家,但我设计的测试应该至少是准确的...
谢谢您提供的任何提示。