Andy Dingley
Usenet Archive
- Joined
- Feb 23, 2000
- Messages
- 3,303
- Reaction score
- 0
I've just started on a new project and inherited a huge pile of XSLT (and I use the term "pile" advisedly !) It runs at glacial speed, and I need to fix this this.
Platform is MSXML 4 / ASP
Any advice on benchmarking tools / techniques ? I have no budget for tool-building, so if there's anything already out there, that would be good to know.
Any general advice on performance bottlenecks to avoid ? Particular areas I'm interested in are:
* xsl:call-template / name vs. xsl:apply-templates / match / mode
* Large stylesheets loaded from several small stylesheets, aggregated by use of xsl:import
* Many template rules calling each other in chains, where some are doing little more than being function calls mapping one rule onto another.
* Widespread string-slicing with substring-before etc.
I'm also looking at serious automatic compilation of templates. I can do some specific tuning by hand, but most of these stylesheets are automatically generated and there are simply too many of them. does anyone have experience of either auto-merging stylesheets and trying to auto-compile the various template rules (I think there are many cases where only one rule of a group will ever be invoked, owing to simple scoping rules).
Another compilation option would be to "flatten the call stack" where three or four templates call each other in turn, but do little output or logic until the very last step.
Any advice gratefully received !
Platform is MSXML 4 / ASP
Any advice on benchmarking tools / techniques ? I have no budget for tool-building, so if there's anything already out there, that would be good to know.
Any general advice on performance bottlenecks to avoid ? Particular areas I'm interested in are:
* xsl:call-template / name vs. xsl:apply-templates / match / mode
* Large stylesheets loaded from several small stylesheets, aggregated by use of xsl:import
* Many template rules calling each other in chains, where some are doing little more than being function calls mapping one rule onto another.
* Widespread string-slicing with substring-before etc.
I'm also looking at serious automatic compilation of templates. I can do some specific tuning by hand, but most of these stylesheets are automatically generated and there are simply too many of them. does anyone have experience of either auto-merging stylesheets and trying to auto-compile the various template rules (I think there are many cases where only one rule of a group will ever be invoked, owing to simple scoping rules).
Another compilation option would be to "flatten the call stack" where three or four templates call each other in turn, but do little output or logic until the very last step.
Any advice gratefully received !