Array.sort(customSortFunction:Function)隐藏的陷阱

2011年7月10日 6 条评论

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。
AS3中的Array.sort就是实现排序的工具,它有多种用法,不过使用自定义排序函数时需要注意。 为了更容易的理解下面问题,先弄明白一个排序算法相关的概念:稳定性。
稳定排序:假设在待排序的元素中,存在两个或两个以上的记录具有相同的关键字(或值),在用某种排序法排序后,若这些相同关键字(或值)的元素的相对次序仍然不变,则这种排序方法是稳定的。 而我们下面的代码跟稳定性无关的,因为不存在相同的元素。
阅读全文...

Array Vector 性能测试

2009年8月6日 没有评论

想做个对象池,以降低CPU销毁,以前都是用Array做的。
帮助上说flashplayer10的Vector速度要比Array的速度快的多今天特来测试下。
不过测试结果令我大失所望。

  1. push Vector慢,   Array 快  (可以忽略)
  2. pop : Vector快,   Array 慢 (可以忽略)

这样的结果让我对Vector的性能产生了怀疑,又测试了下Vector的的存取速度。

  1. 读取 Vector快,   Array 慢  (可以忽略)
  2. 存储Vector慢,   Array 快 (可以忽略)

看来Vector在对Array的性能较量中并不占优势。
只是Vector是单一元素类型的数组,拥有Array所没有的类型检查。

结论:做对象池还是用Vector吧,不管性能了。

下面是测试代码:
阅读全文...

回到顶部