Asaris,

How did you get on?

I still think it's worth raising a bug about this as the framework could
be much improved.

Hugh

> *Subject:* Re: [qooxdoo-devel] speed of method applyFilters 
> in    qx.ui.table.model.Filtered
> *From:* asaris <[EMAIL PROTECTED]>
> *To:* qooxdoo Development <qooxdoo-devel@lists.sourceforge.net>
> *Date:* Thu, 05 Jun 2008 14:04:22 +0100
> 
> This is what I plan finalize tomorrow. To add alternative to 
> applyFilters() method to Filtered class. In most cases (99.99..%) I 
> wouldn't care about events for single row.
> 
> Filter row data _fullArr to filtered row data filteredArr,  set 
> _filteredArr to model setData(filteredArr).
> 
> I need to filter only tables in size max 20cols x 500rows. I made 
> custom applyFilters yesterday on row data, has some bugs, but runs 
> rocketfast.
> 
> asaris
> 
> Hugh Gibson wrote:
> >> I have data sets of 20 columns and 50-150 rows. Model is used by 
> >> Table. And 1 regex filter, that filters out 50%+ of rows. 
> >> Unfortunately it's too slow. It takes 5-10+ seconds to filter 
> when >> calling applyFilters(). I have no event listeners. My quick 
> >> benchmark shows that hideRows() slows down process.
> >>     
> >
> > Not surprising, looking at hideRows which shifts the whole data 
> > set along
> > and causes all sorts of events via Simple.removeRows.
> >
> > It should be possible to make this a lot faster by rewriting 
> > applyFilters
> > to set up a filter of rows to be deleted first then doing them 
> > all at
> > once.
> >
> > A couple of simple optimisations would be to run through the rows
> > backwards (so you're not moving rows around that are going to be 
> > deleted
> > later) and actually using the row count facility of hideRows.
> >
> > It's worth you raising an issue about this. Add a note that the
> > applyFilters method should really be calling a method to actual 
> > apply the
> > filter to one row, making it easier to implement custom filters 
> > and also
> > make it easier to actually delete the rows in different ways.
> >
> > Hugh

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to