My theory is that such a disk-caching behaviour could speed up Tapestry 
applications by factor 100....although Tapestry 5 is quite fast. 

The template parsing is still quite slow because it uses Velocity and 
everything that avoids template parsing would increase the speed a lot.


-------- Original-Nachricht --------
> Datum: Tue, 18 Mar 2008 18:01:40 +0100
> Von: "Martin Kersten" <[EMAIL PROTECTED]>
> An: "Tapestry users" <users@tapestry.apache.org>
> Betreff: AW: @Cached and caching in general

> @Chached is only used during a single page rendering cycle. It would not
> apply to your situation. (as far as I know)
> 
> Source:
> http://sqllyw.wordpress.com/2008/03/15/new-features-in-tapestry-5011/
> 
> Your scenario would be implementable using your own component.
> The component would represent a fragment and read the file (even
> use a inmemory cache strategy (soft/weakreferences)) and write
> the ouput directly to stream (or actually the dom tree of your 
> document being returned).
> 
> Using your own solution enables you to mimic the behavior you talk about.
> Another idea would to write / cache only datas needed to render the tables
> (e.g. cache only content not markup). Never the less I am in doupt,
> if such a solution is necessary (dynamically cache results of 
> database queries in memory or on disk).
> 
> So after all you might want to port your application. As always use
> the simpliest solution first. So database queries without any caches. 
> Once you see any problems (performance is below required) just go for
> optimization. Since you have a fallback solution at hand (cron-jobs +
> disk fragments) you are at the safe side. But I am in doupt if you
> really need the markup being cached. Caching the database results
> and recreate markup sounds more reasonable. You might save you lots
> of seeking time. 
> 
> But you always know: Only the code / application will tell you!
> 
> 
> Cheers,
> 
> Martin (Kersten)
> 
> -----Ursprüngliche Nachricht-----
> Von: Tobias Marx [mailto:[EMAIL PROTECTED] 
> Gesendet: Dienstag, 18. März 2008 17:45
> An: Tapestry users
> Betreff: @Cached and caching in general
> 
> I have not used T5 yet, but would @Cached use the file system for caching
> HTML fragments similiar to caching mechanisms in some php frameworks?
> 
> Or is this a pure memory-based cache?
> 
> I am thinking about migrating an old PHP application to T5 - it has really
> a lot of traffic and any users are logged in at the same time.
> 
> It is quite a low-level application that is still quite fast due to cron
> jobs in the background that generate HTML fragments that are included to
> reduce the database-query bottleneck (e.g. grouping/ordering and sorting of
> huge tables).
> 
> Somehow I don't trust Hibernate for high-performance database queries on
> huge tables .... as I think if tables are huge and many people access it, it
> will always lead to problems...no matter how good the queries are and how
> well you have splitted the data across several tables. 
> 
> So I think the best solution is always to generate HTML fragments in the
> background that take a long time and simple "include" them....this is even
> quicker then parsing templates when the data is cached. So you save the time
> necessary for querying the database plus the time necessary for processing
> the templates that are involved.
> 
> Currently the setup on this application uses one-way database replication
> and the cron jobs access the the huge data table on the replicated database
> and generate those HTML fragments without disturbing the web-applications
> performance. So the main application simply includes those HTML fragments
> within milliseconds.
> 
> But maybe the T5 caching mechanism would make all of those low-level
> tricks redundant? 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to