私はいくつかのクロスプラットフォームソリューションの実行パフォーマンスを測定しようとしています。その中には、TitaniumとPhoneGapがあります。だからここなぜ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});
}
PhoneGapのバージョンであります置き換えられる最後の2行を除いて同じ
document.write('2^' + power + ' ' + diffpiter + '<br />');
両方ともiPhone 4Sで実行されます。私はエラーを排除するために、何度もテストを実行しました。
Titaniumのバージョンは、1回の再生で~0.0009
ミリ秒、PhoneGapのバージョンでは1回の再生あたり~0.0002
ミリ秒を測定できますか?
チタンは私のjavascriptコードをコンパイルするはずだから、もっと速くなると思っています。しかし、この場合は少なくとも4倍が遅いです!私はパフォーマンステストの専門家ではありませんが、私が設計したテストは、少なくとも遠隔的に正確でなければなりません。
ありがとうございました。
チタンとPhoneGapの使用例は大きく異なります。このようなマイクロベンチマークを行うには、そのポイントを完全に逃すことです。 – ceejayoz
私はそれを取得しますが、私がアプリケーションに入れるビジネスロジックは純粋なjavascriptで行われます。だから私はこれらの状況で純粋なjavascriptがどのくらい速く実行されているかをテストしています。いろいろな理由でTitaniumとPhoneGapを使用することを理解していますが、私はTitaniumがもっと速く実行するという事実を自分自身に説明しようとしていました。 – pancake