代码之家  ›  专栏  ›  技术社区  ›  Chunky Chunk

actionscript-从代码分析脚本的速度?

  •  0
  • Chunky Chunk  · 技术社区  · 14 年前

    我尝试使用日期类和跟踪语句从代码中提取代码的速度。情况不太好。

    package
    {   
    import flash.display.Sprite;
    
    public class Test extends Sprite
        {
        public function Test()
            {
            var now:Date = new Date();
            var profileSpeedMark:Number = now.getMilliseconds();
    
            var myArray:Array = new Array();
            for (var i:Number = 0; i < 1000000; i++)
                myArray.push(Math.random());
    
            var profileSpeedResult:Number = now.getMilliseconds() - profileSpeedMark;
            trace(profileSpeedResult);
            }
        }
    }
    

    这里的想法是能够比较编码函数的不同方法,并确定哪种方法更快。除非我在一台超慢的电脑上,否则我不确定这是否可行,特别是对于非常短的功能。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Andrew Aylett    14 年前

    您在示例代码中执行操作的方式的问题在于 Date 类有一个固定值——您将测试前的时间与再次测试前的时间进行比较。尝试在测试后实例化另一个日期对象,并从中抽出时间:

    var before:Date = new Date();
    test();
    var after:Date = new Date();
    var timeTaken:Number = after.time - before.time;
    
        2
  •  3
  •   user235273    14 年前

    在flash.utils包中使用getTimer()函数非常方便。

    var t0:Number = getTimer();
    computeSomeThing();
    var t1:Number = getTimer();
    trace("Time Elapsed: " + String(t1 - t0));