AS3重置Array的方法以及效率测试研究

  •   2009-07-08/16:26
  •   有时候我们需要将某个数组清空或者说重置,我最常用的办法的是重新new一下,但是有人测试研究发现使用length=0的方法,执行效率是最高的,呵呵,原文如下:

    _localArray.length = 0; // Reset the array to empty

    Yesterday I was coding on a rather large application at work and I needed to reset an array I had that was stored as a member variable. My gut instinct was to just take the Array variable and set its length = 0. Although this worked I wasn't sure if it was the best way to reset an array in ActionScript 3. So I asked my friend Guy Wyatt and he sent me this performance benchmark using 100,000 iterations in an Array as a test to see the time it took to clear out this Array using various techniques.

    Resetting an empty array over 100,000 iterations in a while(i--) loop
    length = 0:  15 ms
    splice:  157 ms
    new:  145 ms

    So it looks like my gut instinct was right to set the length to 0 to reset my Array. I know this isn't the most glamorous blog post but I do think it is important to think about these things while coding a large Flex application. Every little bit of optimization is crucial and can over all help yield a better functioning application.


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多