Hi Michael,<div><br></div><div>I will check the details inside Yanel later this week, and I can share the results.</div><div><br></div><div>I also quickly read about XSLTC, the drawback is that you can not apply quick fixes in a XSL anymore, as XSL files are built and stored as class files, being part of the classpath. So changes to a XSL is only visible after a JVM restart...</div>
<div><br></div><div>Thanks for the quick answer, I'll update some facts later here about this topic.</div><div><br></div><div>Cheers</div><div>Balz</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 5, 2012 at 2:03 PM, Michael Wechner <span dir="ltr"><<a href="mailto:michael.wechner@wyona.com" target="_blank">michael.wechner@wyona.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Dear Balz<br>
    <br>
    Am 05.11.12 11:43, schrieb basZero:
    <div class="im"><blockquote type="cite">dear all,
      <div><br>
      </div>
      <div>I wonder the following and I'd be interested to hear your
        thoughts about it:</div>
      <div><br>
      </div>
      <div>When creating a resource which is subclassed of Yanel's
        BasicXMLResource, the following happens:</div>
      <div><br>
      </div>
      <div>- getView() gets called by Yanel</div>
      <div>- then the resource's getContentXML() gets called: here you
        prepare the XML document that at the end is passed to the XSL
        transformation</div>
      <div>- getTransformedInputStream() gets called: here the actual
        XSLT is performed.</div>
      <div><br>
      </div>
      <div>I wonder the following regarding performance:</div>
      <div><br>
      </div>
      <div>- the XSLT process includes the transformation of XSL files
        into Java template objects.</div>
      <div>- The creation of such template objects certainly takes time
        and is probably done for every request</div>
      <div><br>
      </div>
      <div>What can be done to reduce the time needed for the XSLT part
        of a request time?</div>
    </blockquote>
    <br></div>
    Yanel currently uses Xalan 2.7.0, whereas it might make sense to
    upgrade to 2.7.1.<br>
    <br>
    Also I assume that Yanel currently is using the interpreter instead
    XSLTC. See<br>
    <br>
    <a href="http://marc.info/?l=xalan-j-users&m=122551369713293" target="_blank">http://marc.info/?l=xalan-j-users&m=122551369713293</a><br>
    <br>
    but I guess we could change it rather easily or make it configurable
    somehow. (whereas we should check first what it is really using ;-)<div class="im"><br>
    <blockquote type="cite">
      <div><br>
      </div>
      <div>- Did anybody use precompiled templates (e.g.: the XSLT
        transformer only compiles the XSL, if it has changed since the
        last compilation), I read some articles about this
        pre-compilation topic which should boost the whole XSLT time
        dramatically</div>
      <div>- Split up include files into smaller ones?</div>
      <div><br>
      </div>
      <div>Generally asking: </div>
      <div>- Did you do anything specifically regarding performance of
        XSLT?</div>
    </blockquote>
    <br></div>
    no, because so far the XSLT was never the real problem. In most
    cases the bottleneck was rather the custom code, e.g.<br>
    code which generated the XML to start with, but which didn't scale
    for whatever reasons.<div class="im"><br>
    <blockquote type="cite">
      <div>- If so, what did you apply?</div>
    </blockquote>
    <br></div>
    My suggestion is to first check whether Yanel is using interpreter
    or XSLTC and if interpreter, then try to switch to XSLTC.<br>
    <br>
    Depending on how dynamic your page is, you could of course generate
    static files (with a double buffer) and then server them from the
    filesystem of even from the memory. (and maybe include the dynamic
    parts).<br>
    <br>
    HTH<br>
    <br>
    Michael<br>
    <blockquote type="cite">
      <div><br>
      </div>
      <div>Cheers</div>
      <div>Balz</div>
      <br>
      <fieldset></fieldset>
      <br>
    </blockquote>
    <br>
  </div>

<br>--<br>
Yanel-development mailing list <a href="mailto:Yanel-development@wyona.com">Yanel-development@wyona.com</a><br>
<a href="http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development" target="_blank">http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development</a><br></blockquote></div><br></div>