cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Antonio Gallardo" <>
Subject [RT] Improving Dynamic Selection List performance inside Repeaters
Date Thu, 26 May 2005 00:35:44 GMT

Last night, I was playing with the new AJAX + a repeater with one dynamic
selection list (DSL). I noted the repeater builds the DSL on every row.
OK, this is old knowledge. But, when we have time expensive DB queries
needed to retrieve the DSL data, ie: each one takes cca. 1 second or more.
This is painfull slow with a 4 or more rows repeater. In short unusable.

I think we can somehow "cache" the data of the DSL or DSLs while we are
inside the repeater to improve the performance. This is an internal change
and in noway will affect the user API. Perhaps, if some people is against
and wants to have this "cache" behavior as an option, then we can define a
new attribute for the DSL. If people need it, we can set the default
behavior as it is now. Turn on an @cache="true" will set the DSL to use
the new cache. Or perhaps it is better to define it at the repeater level.
Well, we can discuss this once we define we need to set the new @cache

The cache should have a short life. In order the save memory, the data
should be dropped once the form is finally rendered. It will read the DSL
data once and serve them from the cache while we are on the same repeater
(or form? - again we need to define the level of this behavior).

I am not really sure if this is viable and how much time we can save using
a short lived cache. But somehow we need to improve the cforms


Best Regards,

Antonio Gallardo.

View raw message