<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" styleName="plain" layout="absolute" viewSourceURL="srcview/index.html"> <mx:Array id="myA"/> <mx:ArrayCollection id="myAC"/> <mx:ArrayCollection id="myACNAU"/> <mx:ArrayCollection id="myDBAC"/> <mx:ArrayCollection id="myDDBAC"/> <mx:VBox horizontalCenter="0" top="15" horizontalAlign="center"> <mx:FormItem label="Number of objects to create:"> <mx:NumericStepper id="numObjects" minimum="100000" maximum="1000000" stepSize="100000"/> </mx:FormItem> <mx:FormItem label="Create on:"> <mx:RadioButton id="useA" label="Array" groupName="dataType" selected="true"/> <mx:RadioButton id="useAC" label="ArrayCollection" groupName="dataType"/> <mx:RadioButton id="useACNAU" label="ArrayCollection without autoUpdates" groupName="dataType"/> <mx:RadioButton id="useDBAC" label="Data Bound ArrayCollection" groupName="dataType"/> <mx:RadioButton id="useDDBAC" label="Double Data Bound ArrayCollection" groupName="dataType"/> </mx:FormItem> <mx:Button label="Start"> <mx:click> <![CDATA[ myA = []; myAC.removeAll(); myACNAU.disableAutoUpdate(); myDBAC.removeAll(); myDDBAC.removeAll(); var startTime:Date = new Date(); if (useA.selected) { for (var i:int = 0; i < numObjects.value; i++) { myA.push({prop1:'asdf', prop2:startTime, prop3:i}); } } else if (useAC.selected) { for (var j:int = 0; j < numObjects.value; j++) { myAC.addItem({prop1:'asdf', prop2:startTime, prop3:j}); } } else if (useACNAU.selected) { for (var n:int = 0; n < numObjects.value; n++) { myACNAU.addItem({prop1:'asdf', prop2:startTime, prop3:n}); } } else if (useDBAC.selected) { for (var k:int = 0; k < numObjects.value; k++) { myDBAC.addItem({prop1:'asdf', prop2:startTime, prop3:k}); } } else if (useDDBAC.selected) { for (var m:int = 0; m < numObjects.value; m++) { myDDBAC.addItem({prop1:'asdf', prop2:startTime, prop3:m}); } } timeToCreate.text = ((new Date()).time - startTime.time) + "ms"; ]]> </mx:click> </mx:Button> <mx:Label id="timeToCreate" fontSize="24"/> </mx:VBox> <mx:DataGrid dataProvider="{myDBAC}" visible="false"/> <mx:DataGrid dataProvider="{myDDBAC}" visible="false"/> <mx:DataGrid dataProvider="{myDDBAC}" visible="false"/> </mx:Application>