pan*_*ake 3 iphone performance titanium ios cordova
我正在尝试衡量一些跨平台解决方案的执行性能,其中包括: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});
}
Run Code Online (Sandbox Code Playgroud)
PhoneGap版本是相同的,除了最后两行被替换
document.write('2^' + power + ' ' + diffpiter + '<br />');
Run Code Online (Sandbox Code Playgroud)
两者都在iPhone 4S上执行.我已经多次运行测试,以消除错误.
在所有神圣的名称中,Titanium版本如何测量~0.0009每次迭代的毫秒数,而PhoneGap版本测量~0.0002每次迭代的毫秒数?
Titanium应该编译我的javascript代码,所以我希望它更快.在这种情况下,它至少慢4倍!我不是性能测试方面的专家,但我设计的测试应该至少是远程准确的......
感谢您提供给我的任何提示.
小智 7
Titanium不会将javascript代码转换为objective-c.Titanium只是使用javascript to objective-c桥接来与objective-c iOS框架(最重要的是用户界面对象)进行通信.更合适的比较是编码钛的用户界面元素(按钮,标签,窗口,视图),操纵它们并使用phonegap中的html,css,图像按钮.
Phonegap也使用它自己的桥梁,如果你知道java或objective-c,你可以使用插件来使用本机用户界面元素和iOS或Android的其他Native功能.
http://zsprawl.com/iOS/2012/05/navigation-bar-with-nativecontrols-in-cordova/
| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |