专注于 ActionScript 3.0 在各应用领域的研究。
« 字典和索引数组-提升性能小技巧原创-使用Flex调试Flash编译的swf »

在AS3中重置Array的几种方法的效率测试研究

有时候我们需要将某个数组清空或者说重置,我最常用的办法的是重新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.

原文来自frankieloscavio.blogspot.com

转载自:http://hydra1983.blog.163.com/blog/static/11175037200862810954146/

  • quote 1.mohack
  • array重置我一般是先null 再new出来,呵呵
    谢谢 dmh2002 提供,学习了

    [PS:汗死,楼上怎么都是广告啊, - -!]
  • 2009-7-13 17:29:07 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 Code detection by Codefense

Copyright 2008-2010 DMH2002's Blog Some Rights Reserved.沪ICP备07021739号