xsl-list
[Top] [All Lists]

Fwd: Re: [xsl] suggestions for per request xslt performance?

2007-04-25 19:35:33
On Wednesday April 25 2007 10:58:57 pm Nic James Ferrier wrote:
"Andrew Mason" <andrew(_at_)katalyst(_dot_)com(_dot_)au> writes:
I really appreciate your comments, however I'm not really looking
for a which language is better discussion at this time.  I'm trying
to see what options are available (to us at the moment) in regards
to reducing the cost of importing the stylesheet. If there are
things that we can do from an xslt level, or if there are things
that can be done from a libxslt level to reduce that. If it is with
in the realms of possibility to cache xslt processors after they
have been built and be able to load them , I am sure that we could
convince the boss to pay someone to add this functionality, if
someone was willing to do it in libxslt. ( I can probably patch the
PHP implementation to support this if it is available with libxslt).

This is really a libxslt question.... but I'll answer it anyway.

1. libxslt DOES have a Java implementation; you can find one at GNU's
ClasspathX:

   http://www.gnu.org/software/classpathx

thanks. Will definately have a look at this. The fact that it works with GNU 
classpath is especially good as that will probably work with OpenBSD.

  also search for libxmlj

2. there are hardware accelerators which can significantly help your
xslt... this is a cool "plugin" approach
That is cool. I will have a look at this. It would definately solve the 
problem in the immediate instance as we control the box it is running on.

3. if you have any kind of persistent store with PHP you can cache the
stylesheet. 
It's not the stylesheet that is the issue, it's the time taken to load the 
stylesheet into the xslt processor.  Creating the DOMDocument from the 
stylesheet is quick. Processing the stylesheet is fast. The importStylesheet 
function is probably comparitively fast too, however it's still too expensive 
on a /request basis.

One of the other people on the list suggested memcached which might be an 
option for caching the processor. 

many thanks
Andrew



I've managed to do it on python. I had to add 
transform_contexts to the python wrapper though, to make that
possible.


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--