forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicola Ken Barozzi <>
Subject Re: [RT] Is speed slow because we use the document() function for skinconf?
Date Fri, 24 Oct 2003 11:57:49 GMT
Robert Koberg wrote:

>>-----Original Message-----
>>From: news [] On Behalf Of Nicola Ken Barozzi
>>That's what I suspected. The problem is that each file is transformed by
>>4 different stylesheets, and two surely use skinconf.
> You mean 4 different transformations, right? As opposed to one primary XSL
> and 3 xsl:import/includes.
> Yea, I have never understood that. Even though I have been using a site.xml
> to build static sites since before XSLT was even a recommendation, I was
> told that 'we' know better and that you need all these stages. Don't get me
> wrong, you definitely need multi-stage transformations for some things, but
> not /simple/ transformations to static html like forrest does (I see no need
> of PDFs for print friendly pages). You would really speed up the generation
> process if you got rid of 3 of those stages and cache your Templates
> object(s). It would probably bring the generation process from minutes to
> seconds. You could then transform the site.xml to an Ant build file and do
> away with the cocoon burden... 

Then you get Jakarta Velocity Anakia ;-)

There is no reason why Cocoon should be much slower than Ant+xslt. I use 
also Anakia for the Apache site, and it's not so much faster than plain 
Cocoon now.

In fact the problem is not with Cocoon but with Forrest: the Cocoon site 
renders many times faster with the old Cocoon doc system than with 
Forrest, both using the same Cocoon jars! That's why I am seeking gains 
in our way of transforming the docs.

In fact he fact is that we transform the menu, then the body, then 
aggregate them, and then transfrom again. We have never gotten to really 
rethink this in a more speedy manner.

Cocoon should cache the menu transformation (never checked though), so 
we would really have two of them, one for the document and one for the 
full page. So to speed up things we sould not do any transformation of 
he document first, and then use only one stylesheet for the cached 
menu+raw-contents xml.

But before doing this I would like to see real trials about performance.
If you or someone shows that there are substantial gains in doing things 
another way with Forrest, I'd be happy to put them in.

Things possible to speed up:

  1 - give skinconf params as <param> and not via document()
  2 - rethink the page processing chain
  3 - use STX instead of Xalan SAX

>>That would mean at least two extra parsings for each file being
>>processed, hoping that imported files share the instance, or else it's
>>up to at least 4.
> Yes, the xsl:import/includes share the instance. 
> p.s. replies to you are bouncing:
> Hi. This is the qmail-send program at
> I'm afraid I wasn't able to deliver your message to the following addresses.
> This is a permanent error; I've given up. Sorry it didn't work out.
> <>:
> does not like recipient.
> Remote host said: 550 RCPT TO:<> User unknown
> Giving up on

My mail provider is having problems, they say they will fix it soon. I 
hope so... in any case the mail arrived as I see it in my inbox.

Nicola Ken Barozzi         
             - verba volant, scripta manent -
    (discussions get forgotten, just code remains)

View raw message