performance tip: skip xforms-widgets.xsl

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

performance tip: skip xforms-widgets.xsl

Adrian Baker-2
We found removing the call to xforms-widgets.xsl from
xforms-epilogue.xpl saved about 10-15% of the total time to render a
XHTML+XForms page, so if you aren't using 'widgets' it's worth skipping
this transformation.

This is already mentioned in the performance tuning section of the OPS
documentation
(http://www.orbeon.com/ops/doc/integration-tuning#d4544109e246), but I
thought I'd highlight it given it's a fairly significant gain. Perhaps
the default distribution of xforms-epilogue.xpl could wrap the widgets
XSLT invocation with a test, so it's only run when necessary?

Also, a note of caution for anyone doing profiling of an OPS app with
high amounts of instrumentation: presumably because of the very large
stacks in XPL pipelines, the overhead in tracking all these calls tends
to artificially inflate the time spent in OPS code. Rough testing
indicates that JProfiler was overstating OPS's share by about ~50% (when
run together with a EJB<->Hibernate backend). As always, don't trust
instrumented code!

Adrian




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: performance tip: skip xforms-widgets.xsl

Alessandro  Vernet
Administrator
On 5/21/06, Adrian Baker <[hidden email]> wrote:
> Also, a note of caution for anyone doing profiling of an OPS app with
> high amounts of instrumentation: presumably because of the very large
> stacks in XPL pipelines, the overhead in tracking all these calls tends
> to artificially inflate the time spent in OPS code. Rough testing
> indicates that JProfiler was overstating OPS's share by about ~50% (when
> run together with a EJB<->Hibernate backend). As always, don't trust
> instrumented code!

Adrian,

Interesting. Have you tried to use sampling instead of
instrumentation? We are doing all our profiling using sampling,
because it should be more reliable, but also because it runs much
faster with sampling.

Alex
--
Blog (XML, Web apps, Open Source):
http://www.orbeon.com/blog/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet