我試圖來衡量的一些跨平臺的解決方案,其中有執行性能比較:鈦和PhoneGap的。爲什麼PhoneGap看起來比鈦更快?
因此,這裏是我的性能測試儀的鈦金版爲例,它是非常簡單的,但我只是想多快我的代碼的感覺被執行:
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});
}
的PhoneGap的版本除了最後兩條線被取代之外,其他條件相同
document.write('2^' + power + ' ' + diffpiter + '<br />');
兩者都在iPhone 4S上執行。我已經多次運行測試,以消除錯誤。
在所有的名字怎麼是神聖可以在二版措施每次迭代~0.0009
微秒,而PhoneGap的版本措施,每次迭代~0.0002
毫秒?
鈦應該編譯我的javascript代碼,所以我希望它會更快。在這種情況下,然而它至少4倍慢!我不是性能測試方面的專家,但我設計的測試應該至少遠程準確...
謝謝你提供給我的任何提示。
鈦和PhoneGap有明顯不同的用例。做這樣的微基準是完全錯過了這一點。 – ceejayoz 2012-04-02 20:16:29
我明白了,但是我將放入應用程序的任何業務邏輯都將在純JavaScript中完成。所以我測試了在這些情況下純JavaScript運行的速度。我明白,出於不同的原因,我們會使用Titanium和PhoneGap,但我試圖向我自己說明Titanium會更快執行的事實。 – pancake 2012-04-03 07:47:01