2010-01-18 67 views
3

我有一些功能我想時間,但我不知道該怎麼做。在javascript中我可以得到以毫秒爲單位的當前時間,運行我的函數的其餘部分,又得到以毫秒爲單位的當前時間和提醒的差異。維奧拉,我知道這個功能運行了多久。有沒有辦法計算一個函數需要多長時間?

在ActionScript中,一次運行一切,所以我開始和結束時間是相同的。我如何測量函數處理的時間跨度?

感謝,

回答

7

快速下面的方法。做一個統計測試比較好,例如。運行toMeasure設定時間1和時間2和將結果除以100。它可能給你一個更現實的估計之間的100倍。請記住,現代計算機可以在毫秒之內做一些計算。

  private var time1:Number; 
      private var time2:Number; 

      private function toMeasure():void 
      { 
       for (var i:int = 0;i<30000;i++) 
       { 
        trace (i); 
       } 
      } 

      protected function main():void 
      { 
       time1= new Date().time; 
       toMeasure(); 
       time2= new Date().time; 
       trace ("ms:"+(time2-time1)); 
      } 
+1

是啊,這應該這樣做。作爲一個額外的,你可以檢查出格蘭特Skiner的測試工具:http://www.gskinner.com/blog/archives/2009/04/as3_performance.html – 2010-01-18 19:38:23

+3

你也可以使用flash.utils getTimer()來獲得一個合適的時間戳記比較時間。 – TheHippo 2010-01-18 20:42:09

相關問題