RE: Netscape Support for XSL

Subject: RE: Netscape Support for XSL
From: Matt Sergeant <matt@xxxxxxxxxxxx>
Date: Fri, 19 May 2000 16:10:11 +0100 (BST)
On Fri, 19 May 2000, Heather Lindsay wrote:

> Matt,
>        If it's not too much trouble could you elaborate on this speed
> penalty you speak of?  How much of a speed penalty is it?  
>
> Thanks,
> Heather

Most XSLT servlets out there are fairly dumb, requiring a parse of every
stylesheet file and the XML file on every hit, along with performing the
actual transformation. Some may eliminate the need to re-parse the XML +
stylesheets on each hit by using an internal memory cache of the parsed
DOM tree, but still perform the XSLT transformation on each hit.

On the other hand, both AxKit and Cocoon only transform when either the
stylesheet(s) or the xml file changes, storing the results in a
cache. This allows AxKit to achieve delivery rates of 100m page views a
day (nobody is running a site using AxKit that does that, but the point is
still valid), on the right hardware. I don't have any performance figures
for Cocoon, although I believe it's slightly slower than AxKit (but I'm
biased!).

Just to throw more AxKit advertising in... AxKit also invalidates the
cache when external parsed entities in the XML file change - a feature
that Cocoon doesn't have (and I believe won't get, according to a post on
their mailing list). This eliminates the need to "touch" the XML file if
you change an external entity - a great boon for larger documents.

AxKit can be found at http://xml.sergeant.org/axkit/
Cocoon is at http://xml.apache.org/cocoon/

AxKit is built in Perl using the Apache API, Cocoon is built as a
servlet. Which seems kindof backwards when Cocoon is part of the Apache
project ;-)

-- 
<Matt/>

Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org http://xml.sergeant.org


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread