Episode 3: Performance Pitfalls of Flex's ArrayCollection

On a recent project Jon discovered some performance issues with ArrayCollections in Flex. In this episode we discuss some of the realities of working with large data sets in Flex. For additional details read Jon’s blog about the performance problems with ArrayCollection and check out the associated bug in Flex’s bug db. We’ve also put together two Flex demos that illustrate the performance issues:

Check out the video and let us know what you think.

[blip.tv http://blip.tv/play/AdzOSJHGOw%5D

Advertisements

10 thoughts on “Episode 3: Performance Pitfalls of Flex's ArrayCollection

  1. […] and I have posted our latest video, Performance Pitfalls of Flex’s ArrayCollection.  It is a follow-up to my recent post on the problems we encourtered with […]

  2. […] and I have posted Episode 3 of the Drunk on Software video podcast. In this episode we talk about some of the real world […]

  3. codecraig November 23, 2008 at 1:34 pm Reply

    Can you provide a link to the bug you posted to Adobe for turning off the updates in the ArrayCollection?

  4. codecraig November 23, 2008 at 1:37 pm Reply

    when iterating through a large collection of objects and add them to an arraycollection using “addItem” lots of events will be fired off to update the UI. I think James suggested Flex somehow combine all that into one event at the end to update the UI. Have you ever tried something like:

    var data:Array = [<lots of and lots of items in this array];

    // myAC – an array collection bound to a DataGrid

    for each ( var tmp:MyObject in data ) {
    myAC.source.push( tmp );
    }
    myAC.refresh();

    Basically that adds the items to the Array being wrapped by the ArrayCollection “myAC” in this case, then at the end the call to “refresh” fires one big update.

  5. Jon Rose November 23, 2008 at 9:00 pm Reply
  6. islamisohbet November 29, 2008 at 10:49 am Reply

    Interesting conversation, tried and succeed that Array being wrapped by the ArrayCollection “myAC” in this case, then at the end the call to “refresh” fires one big update. Thanks.

  7. […] Watch this episode on DrunkonSoftware.com […]

  8. Justin J. Moses March 23, 2009 at 4:23 pm Reply

    I’m ashamed to say I just found out about DrunkOnSoftware today. I must say, well done guys.

    It’s fantastic to have relevant – and objective – content for RIA devs. So much of what I see these days is either vested in MS or Adobe.

    This is one podcast well worth watching.

  9. James Ward March 23, 2009 at 5:15 pm Reply

    Wow. Thanks Justin! We try to keep it real – even though I do work for Adobe. :)

    -James

  10. alisveris January 11, 2010 at 12:53 am Reply

    Tried :) good result.

    var data:Array = [<lots of and lots of items in this array];

    // myAC – an array collection bound to a DataGrid

    for each ( var tmp:MyObject in data ) {
    myAC.source.push( tmp );
    }
    myAC.refresh();

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: