Hi Christian!

Many thanks for your answer. Unfortunately, rendering is the expensive part, as we already rely on cached data.


Jens


Am 28.07.12 13:49, schrieb Christian Riedel:
Hi,

I think theres no easy way to intercept the rendered result of a single 
component (that contains a lot of other components). But you could put this 
component inside some kind of dummy-page, asynchronously call its url from an 
internal caching-service and store the output using simple I/O streams.

But that would only make sense if the rendering itself is the expensive part.
Are you sure that there's no other way of optimizing your code? Rendering a lot 
of data might also take long because you need to make queries against a 
database. Maybe you haven't cached the data itself yet?
You could also think of reducing the amount of items to be displayed on 
pageload. Is the user able to see all the rendered data without scrolling? If 
not, you could easily use a lazy loading component to load more data if it's 
really needed like these:

        http://www.appelsiini.net/projects/lazyload/enabled.html
        
http://www.webresourcesdepot.com/load-content-while-scrolling-with-jquery/

Keep the rendering as light as possible!

Best,
Christian


Am 28.07.2012 um 13:11 schrieb Jens Breitenstein:

Hi T5'ers

we have some performance issues and started thinking about caching our pages (lets say 
parts of them to be precise). Due to the fact we are showing user related information 
along with "public information" on a page, we can not make use of a simple web 
proxy caching.

Therefore we are thinking about a "component rendering result cache".

Assume we have several independent components to show an overview of items (and 
we have a lot of items rendered in a loop) and we want to cache the rendering 
result of one of these particular components for several seconds before 
rendering it again (to reflect new items or changes). I am aware this means we 
are showing stale data for some seconds, but honestly this is not an issue 
because after rendering and displaying it in the browser data is considerably 
old anyway :-)

What might be a good place to intercept the rendering and store the output from 
a component and on the other hand use outputraw for sending cached data?
Does anyone tried this before?

Any idea or comment is appreciated, thanks in advance


Jens




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to