Return-Path: X-Original-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DE313B3A2 for ; Sat, 21 Jan 2012 01:51:21 +0000 (UTC) Received: (qmail 73987 invoked by uid 500); 21 Jan 2012 01:51:21 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 73933 invoked by uid 500); 21 Jan 2012 01:51:20 -0000 Mailing-List: contact flex-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-dev@incubator.apache.org Received: (qmail 73925 invoked by uid 99); 21 Jan 2012 01:51:20 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 21 Jan 2012 01:51:20 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of frishy@gmail.com designates 209.85.216.175 as permitted sender) Received: from [209.85.216.175] (HELO mail-qy0-f175.google.com) (209.85.216.175) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 21 Jan 2012 01:51:14 +0000 Received: by qcsp14 with SMTP id p14so580680qcs.6 for ; Fri, 20 Jan 2012 17:50:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=t8xdH9AuES2rSE/Wqy20NWPWmOznvfoW8SN3vBAJyS8=; b=hlskKnEawxlooqMwVN9KrEcqIuYFzDU3glHGpyXaOp/thm1J+qBp058Zff+exmLan4 1iFWmVfK3divIHt2iOhDGAi+1Awoyc0Qb4B9FdYM51d6qRpTxqiY0iIo8RHYXVAdwbXU EIsse8uAbCQdtnGoFOaBaCWHJk3khwFByP1zk= MIME-Version: 1.0 Received: by 10.229.76.195 with SMTP id d3mr52373qck.40.1327110653720; Fri, 20 Jan 2012 17:50:53 -0800 (PST) Received: by 10.229.82.5 with HTTP; Fri, 20 Jan 2012 17:50:53 -0800 (PST) Date: Sat, 21 Jan 2012 01:50:53 +0000 Message-ID: Subject: Faster GroupingCollection2 From: Ryan Frishberg To: flex-dev@incubator.apache.org Content-Type: multipart/alternative; boundary=00235429e2dc17b80f04b7000736 --00235429e2dc17b80f04b7000736 Content-Type: text/plain; charset=ISO-8859-1 I don't really like iterating on components for a third time, but from using GroupingCollection2, I ran into a few issues, plus it seemed to be pretty slow. I'm not sure how heavily used this component is or if people are interested, but I've attempted to write a new one. I checked it into my whiteboard space: http://svn.apache.org/viewvc/incubator/flex/whiteboard/frishy/FastGroupingCollection/ along with some performance tests. For the most part, it's the same as GroupingCollection2, but it doesn't support asynch refresh() and does support nested properties for grouping fields and summary fields. When using as a basic grouping collection, for larger datasets, it tends to be about 1.5-2x faster than GroupingCollection2. Once you add summary rows, it tends to be much, much faster (50x). If enough people are interested, we can talk about checking it in to the main framework. I've also got a few collection fixes that I'm planning to make once the project gets started a bit more and we have some tests than we can run against. Cheers, Ryan --00235429e2dc17b80f04b7000736--