<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Dear Balz<br>
    <br>
    Am 05.11.12 11:43, schrieb basZero:
    <blockquote
cite="mid:CAOXzDSH+qqDukcc=vuxAkc0A3WxzUbZ7Q=5hkB7hdWEdozt2KQ@mail.gmail.com"
      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>
    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 class="moz-txt-link-freetext" href="http://marc.info/?l=xalan-j-users&m=122551369713293">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 ;-)<br>
    <blockquote
cite="mid:CAOXzDSH+qqDukcc=vuxAkc0A3WxzUbZ7Q=5hkB7hdWEdozt2KQ@mail.gmail.com"
      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>
    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.<br>
    <blockquote
cite="mid:CAOXzDSH+qqDukcc=vuxAkc0A3WxzUbZ7Q=5hkB7hdWEdozt2KQ@mail.gmail.com"
      type="cite">
      <div>- If so, what did you apply?</div>
    </blockquote>
    <br>
    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
cite="mid:CAOXzDSH+qqDukcc=vuxAkc0A3WxzUbZ7Q=5hkB7hdWEdozt2KQ@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      <div>Cheers</div>
      <div>Balz</div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <br>
  </body>
</html>