zoukankan      html  css  js  c++  java
  • Flex中常用集合类型性能对比

    测试方法

    privatefunction Test():void

    {

        for(var j:int=0;j<5;j++)

        {

            trace("插入10000项============");

            var t1:int, t2:int;

            var i:int = 0;

            var a:Array = new Array();

            varal:ArrayCollection = new ArrayCollection();

            var item:String;

            var v:Vector.<String> = new Vector.<String>();

           

            t1 = getTimer();

            for(i=0;i<10000;i++)

                a.push(StringUtil.NewGuid());   

            t2 = getTimer();

            trace("Array耗时:/t/t",t2-t1);

           

            t1 = getTimer();

            for(i=0;i<10000;i++)

                al.addItem(StringUtil.NewGuid());   

            t2 = getTimer();

            trace("ArrayCollection耗时:/t",t2-t1);

           

            t1 = getTimer();

            for(i=0;i<10000;i++)

                v.push(StringUtil.NewGuid());

            t2 = getTimer();

            trace("Vector耗时:/t/t",t2-t1);

           

            trace("");

            trace("遍历10000项==========");

           

            t1 = getTimer();

            for(i=0;i<10000;i++)

                item = a[0];

            t2 = getTimer();

            trace("Array耗时:/t/t",t2-t1);

           

            t1 = getTimer();

            for(i=0;i<10000;i++)

                item = al[0];

            t2 = getTimer();

            trace("ArrayCollection耗时:/t",t2-t1);

           

            t1 = getTimer();

            for(i=0;i<10000;i++)

                item = v[0];

            t2 = getTimer();

            trace("Vector耗时:/t/t",t2-t1);

            trace("");

        }

    }

    测试输出

    插入10000项============

    Array耗时:         465

    ArrayCollection耗时:     788

    Vector耗时:         444

    遍历10000项==========

    Array耗时:         2

    ArrayCollection耗时:     98

    Vector耗时:         2

    插入10000项============

    Array耗时:         433

    ArrayCollection耗时:     791

    Vector耗时:         430

    遍历10000项==========

    Array耗时:         2

    ArrayCollection耗时:     97

    Vector耗时:         2

    插入10000项============

    Array耗时:         427

    ArrayCollection耗时:     805

    Vector耗时:         415

    遍历10000项==========

    Array耗时:         1

    ArrayCollection耗时:     97

    Vector耗时:         1

    插入10000项============

    Array耗时:         422

    ArrayCollection耗时:     824

    Vector耗时:         401

    遍历10000项==========

    Array耗时:         2

    ArrayCollection耗时:     97

    Vector耗时:         2

    插入10000项============

    Array耗时:         467

    ArrayCollection耗时:     772

    Vector耗时:         438

    遍历10000项==========

    Array耗时:         2

    ArrayCollection耗时:     98

    Vector耗时:         2

    结论

    Array与Vector性能接近,插入时Vector略快,遍历相近,Vector的优点是强类型,缺点是要Flash Player 10,所以作数据存储运算等建议使用Array。

    ArrayCollection性能最差,插入时约比Array慢了一倍,遍历慢了几十倍,ArrayCollection的优势是界面的数据绑定以及支持数据排序等高级方法。

    原文:http://blog.csdn.net/hunkcai/article/details/6159516

  • 相关阅读:
    Dynamics CRM2016 Web API之更新记录
    opencv基础笔记(1)
    HTML5开发移动web应用——SAP UI5篇(6)
    就算你不是电商,你应该为你的电商朋友好好看看这篇文章
    xode5.1.1设置IOS欢迎界面的方法
    Java中的Nested Classes和Inner Classes
    pve之daemon
    对话沈向洋 | 在人工智能最好的时代,寻求可能性比超前顾虑更关键
    .NET Core 2.0 开源Office组件 NPOI
    【转发活动】Hey, 是你吗? | 寻"粉"启示
  • 原文地址:https://www.cnblogs.com/huacw/p/2691021.html
Copyright © 2011-2022 走看看