有没有办法计算一个函数需要多长时间?

inv*_*ear 3 apache-flex actionscript-3

我有一些我想要时间的功能,但我不知道该怎么做.在javascript中我可以以毫秒为单位获取当前时间,运行我的其余功能,再以毫秒为单位获取当前时间并提醒差异.Viola,我知道这个功能运行了多长时间.

在ActionScript中,它一次运行所有内容,因此我的开始和结束时间是相同的.如何衡量函数处理的时间跨度?

谢谢,

Rob*_*Bak 7

快速下面的方式.最好做一个统计测试,例如.在设置time1和time2之间运行toMeasure 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));
            }
Run Code Online (Sandbox Code Playgroud)

  • 你也可以使用flash.utils getTimer()来获得一个合适的时间戳来比较时间. (3认同)