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