1 Reply Latest reply on Aug 8, 2007 11:32 PM by sameerb

    GroupingCollection performance with non-trivial data sets?

    dolinja
      Hi all,

      I'm starting an evaluation of the AdvancedDataGrid and Flex 3 as whole for my project team which has a large financial application built currently in Flex 2. We were very anxious to apply the AdvancedDataGrid to provide grouping and summing against one of our large DataGrids and have found the performance far too poor to use on anything larger than a trivial dataset. The GroupingCollection's source is an ArrayCollection loaded from an HTTPService. It has 3700 records, each with 20 columns.

      We've found that we can create the collection with only one GroupingField, with 3 different SummaryFields being summed and the GroupingCollection.refresh() executes on average of 9 seconds. However to really gain buy-in for this feature, we want to group/sum on two different values and thus two GroupingFields, each with the same SummaryRow and SummaryFields. In this case performance drops to an average 123 seconds for GroupingCollection.refresh(). Completely unusable especially as we get a Flex timeout in the browser after 15 seconds.

      One more bit of information is that in cutting the size of each record down to 5 columns instead of 20, the refresh() only averages 8 seconds even with 2 GroupingFields (and still the 3700 rows!). Something is very wrong here as grouping/summing should really depend upon the number of entries in the ArrayCollection, NOT the number of fields in each entry in the ArrayCollection.

      Finally, this functionality only seems to work with "object" as the result format for the HTTPService. If I use "e4x" (as all of the existing services in our application do), wrap the XMLList returned as an XMLListCollection to use as the GroupingCollection's source, even with just one GroupingField it averages 98 seconds.

      I'm going to start digging into the GroupingCollection source, but I'm not optimistic. Does anyone have tips or hints as to anything that can help optimize this process? Or any further info from Adobe about known performance issues with AdvancedDataGrid/GroupingCollection?

      Thanks so much, any help is greatly appreciated!

      Regards,
      Jason