`

FLASH 数组 POP PUSH UNSHIFT SHIFT测试

阅读更多
博客地址:http://as3.iteye.com/admin/blogs/771089


今天看了下自己的一个类销毁函数
里面有一个CLEARBUFFER 清空缓冲池的函数
采用的是list.shift().dispose()来解决

在执行测试的时候 发现清空部分的效率似乎并不高

就去做了下测试  发现 SHIFT函数的 效率比起POP()函数 来 差距巨大

以下是部分测试  

测试环境是 FLASH CS4

PUSH 和 UNSHIFT的比较 :

var ary:Array = [];
var old:int = getTimer();
for(var i:int = 0; i< 100000; i++)
{
ary.push(i);
}
trace(getTimer() - old);

PUSH为9MS

var ary:Array = [];
var old:int = getTimer();
for(var i:int = 0; i< 100000; i++)
{
ary.unshift(i);
}
trace(getTimer() - old);
效率为3000多MS




SHIFT 和POP的比较 :
var ary:Array = [];
for(var i:int = 0; i< 10000; i++)
{
ary[i] = i;
}

var old:int = getTimer();
while(ary.length > 0)
ary.shift();
trace(getTimer() - old);

时间为 28MS

var ary:Array = [];
for(var i:int = 0; i< 10000; i++)
{
ary[i] = i;
}

var old:int = getTimer();
while(ary.length > 0)
ary.pop();
trace(getTimer() - old);

时间为 1MS







当然 遭遇实际问题的时候 该用SHIFT 还是要用SHIFT 例如剔除头数组
但是在我的 清空函数里面由于 纯粹的是清除 所以POP()跟SHIFT()都是可以的 因此选择了更高效的函数

如果能自己实现一个链表 加入迭代器 会比较高效
分享到:
评论

相关推荐

    JS数组push、unshift、pop、shift方法的实现与使用方法示例

    `push`、`unshift`、`pop`和`shift`是四个重要的数组方法,分别用于在数组的尾部和头部进行添加和删除元素的操作。 1. **push()方法**: `push()`方法用于在数组的末尾添加一个或多个元素,并返回更新后的数组长度...

    JavaScript数组函数unshift、shift、pop、push使用实例

    其中,unshift、shift、pop和push是四个基本且非常实用的数组操作函数,它们分别用于在数组的前端添加/移除元素(unshift和shift),以及在数组的末端添加/移除元素(push和pop)。下面,我们将详细解释这些函数的...

    vue2.x数组劫持原理的实现

    1 重新定义原生数组方法push unshift shift pop splice sort reverse 因为这些方法可以修改原数组。 2 拿到原生数组方法 Object.create(Array.prototype) 3 AOP拦截,再执行重写数组方法前,先执行原生数组方法 核心...

    JS数组方法push()、pop()用法实例分析

    在实际开发中,`push()`和`pop()`方法常常与其他数组方法结合使用,如`shift()`(移除数组开头的元素)、`unshift()`(在数组开头添加元素)以及`splice()`(添加或删除数组中的元素)。掌握这些方法的用法有助于...

    Js数组的操作push,pop,shift,unshift等方法详细介绍

    下面我们详细介绍push, pop, shift, unshift和splice等数组操作方法。 首先,push和pop方法主要用于数组的尾部操作。push方法可以将一个或多个元素添加到数组的末尾,并返回数组的新长度。例如,对于数组[1, 2, 3]...

    js 数组操作之pop,push,unshift,splice,shift

    JavaScript提供了多种内置方法来操作数组,包括但不限于pop、push、unshift和splice等方法。 1. pop方法:pop方法用于移除数组中的最后一个元素,并返回被移除的元素。如果数组为空,则返回undefined。pop方法会...

    JavaScript数组push方法使用注意事项

    在实际开发过程中,应当注意push方法返回的是数组的新长度而非数组本身,而pop()、shift()方法返回的是被删除的元素值,unshift()、splice()和slice()方法则用于数组的修改,并且有着各自特定的返回值。掌握这些知识...

    js数组说明大全

    * 数组可以使用 push() 和 unshift() 方法来动态添加元素。 * 数组可以使用 pop() 和 shift() 方法来删除元素。 JavaScript 数组是一种功能强大且灵活的数据类型,广泛应用于各种 JavaScript 编程场景中。

    JavaScript数组用法详解

    数组的长度可以动态地变化,可以通过 push()、pop()、shift()、unshift() 等方法来添加或删除元素。 JavaScript 数组有多种创建方式,包括使用 Array() 构造函数、数组直接量、JSON 等方式。使用 Array() 构造函数...

    js代码-js数组push压栈操作

    3. **结合其他方法实现特定逻辑**:`push()`可以与其他数组方法(如`pop()`、`shift()`、`unshift()`)一起使用,实现复杂的数组操作。例如,与`pop()`结合实现数组的循环队列。 4. **数组动态扩展**:JavaScript...

    Javascript数组及类数组相关原理详解

    数组创建方式有两种 1. var arr = [] 2. var arr = new Array() 如果只有一个参数会指定...改变原数组 push pop shift unshift sort reverse splice 不改变原数组 concat join —&gt; split toString slice 比如 push 函数

    详解VUE 数组更新

    push  pop  unshift  shift  reverse  sort  splice (2)原数组未变,生成新数组 slice  concat  filter 对于使原数组变化的方法,可以直接更新视图。 对于原数组未变的方法,可以使用新数组替换原来的...

    js数组使用方法

    本文将详细介绍JavaScript中数组的一些常用操作方法:`pop`、`push`、`unshift`、`splice` 和 `shift`。 #### 1. `pop()` 方法 `pop()` 方法用于移除数组的最后一个元素,并返回该元素的值。如果数组为空,则返回 `...

    Javascript数组及其操作

    11. `unshift()`:添加元素到数组的开头 12. `sort()`:对数组进行排序 13. `splice()`:删除、替换或添加数组元素 这些方法可以帮助开发者更方便地操作数组,实现各种数据处理和计算任务。 多维数组 Javascript ...

    php数组函数array_push()、array_pop()及array_shift()简单用法示例

    本篇文章将详细讲解`array_push()`、`array_pop()`和`array_shift()`这三个数组函数的简单用法,并通过实例来演示它们在数组操作中的具体应用。 1. `array_push()` 函数: `array_push()`函数用于将一个或多个单元...

Global site tag (gtag.js) - Google Analytics