Array vs. Vector vs. Linked list yonatan forked:7favorite:2lines:77license : MIT License modified : 2009-10-24 17:05:17 Embed Tweet package { import flash.display.Sprite; import flash.text.*; import flash.utils.getTimer; public class FlashTest extends Sprite { public function FlashTest() { var tf:TextField = new TextField; tf.width = stage.stageWidth; tf.height = stage.stageHeight; tf.text = "Array vs. Vector vs. Linked list test"; addChild( tf ); tf.appendText( "\n" + ITERATIONS + " iterations - times in ms:" ); tf.appendText( "\nNo collection: " + testNothing() ); tf.appendText( "\nArray: " + testArray() ); tf.appendText( "\nVector: " + testVector() ); tf.appendText( "\nLinked list: " + testList() ); } private static const ITERATIONS:int = 200000; public function testNothing():Number { var s:Number = getTimer(); var n:int = 0; for( var i:int=0; i < ITERATIONS; i++ ) { for( var j:int=0; j < 1000; j++ ) { n++; } } return getTimer() - s; } public function testArray():Number { var a:Array = new Array; // init for( var ii:int=0; ii < 1000; ii++ ) { a[ii] = 0; } // test var s:Number = getTimer(); for( var i:int=0; i < ITERATIONS; i++ ) { for( var j:int=0; j < 1000; j++ ) { a[j]++; } } return getTimer() - s; } public function testVector():Number { var v:Vector.<int> = new Vector.<int>; // init for( var ii:int=0; ii < 1000; ii++ ) { v[ii] = 0; } // test var s:Number = getTimer(); for( var i:int=0; i < ITERATIONS; i++ ) { for( var j:int=0; j < 1000; j++ ) { v[j]++; } } return getTimer() - s; } public function testList():Number { var head:Node = new Node; var current:Node; // init current = head; for( var ii:int=0; ii < 999; ii++ ) { current.next = new Node; current = current.next; } // test var s:Number = getTimer(); for( var i:int=0; i < ITERATIONS; i++ ) { current = head; do { current.value++; } while( current = current.next ); } return getTimer() - s; } } } class Node { public var next:Node = null; public var value:int = 0; } Code Fullscreen Preview Fullscreen postnum ekis : vector,array,list benchmark collections speed vector,array,list appendText height width TextField text addChild Vector Array Sprite Number int sort new page view favorite forked pv40 forked from: Array vs. Vector .. bslote forked:0 favorite:0lines:77 (diff:2) pv70 forked from: Array vs. Vector .. Thomas.D.Grant forked:0 favorite:0lines:77 (diff:3) pv263 forked from: Array vs. Vector .. hacker_l8jtp_l6 forked:2 favorite:0lines:77 (diff:3) pv0 forked from: Array vs. Vector .. hacker_l8jtp_l6 forked:0 favorite:0lines:77 (diff:1) pv210 forked from: Array vs. Vector .. aaulia forked:0 favorite:0lines:77 (diff:6) pv199 forked from: Array vs. Vector .. ryankee forked:0 favorite:0lines:78 (diff:12) pv244 forked from: Array vs. Vector .. gimmix forked:0 favorite:0lines:78 (diff:5)