2012年5月8日 星期二

AIR 及 Android原生語言 效能測試

AIR Android原生語言 效能測試
測試方式:

使用相同For迴圈測試加總所需時間



測試程式碼(AS3):

var now:Date = new Date();

        var s1:Number, s2:Number, s3:Number, s4:Number, s5:Number;

        s1 = now.getTime();

        for(var i:int = 1 ; i < 10000001 ; i++){

                if(i == 10000000){

                        var time5:Date = new Date();

                        s5 = (time5.getTime() - s1);

                        t4.text = "千萬次花了" + s5.toString() + "毫秒";

                }else if(i == 1000000){

                        var time4:Date = new Date();

                        s4 = (time4.getTime() - s1);

                        t3.text = "百萬次花了" + s4.toString() + "毫秒";

                }else if(i == 100000){

                        var time3:Date = new Date();

                        s3 = (time3.getTime() - s1);

                        t2.text = "十萬次花了" + s3.toString() + "毫秒";

                }else if(i == 10000){

                        var time2:Date = new Date();

                        s2 = (time2.getTime() - s1);

                        t1.text = "一萬次花了" + s2.toString() + "毫秒";

                }

        }

}
 

測試數據:

Android模擬器(Android 2.2)

計算次數
Java原生(ms)
AIR(ms)
差異百分比
1萬次
8
14
1.75
10
79
33
0.417722
100
791
147
0.185841



實機測試(測試機種 SE Neo V Android 2.3)

計算次數
Java原生(ms)
AIR(ms)
差異倍數(AIR/Java)
1萬次
8
8
1
10
11
28
2.545454545
100
42
82
1.952380952



結論:

AIR在實機上比原生語言慢1倍,但實際觀察所耗時間(ms),還在可容許範圍內

如果使用AIR做複雜程式開發需考慮更好的效能及程式優化技巧

沒有留言:

張貼留言