Mike, common subsequence sharing really makes a big
difference. For example list sharing is one of the major
assumptions in estimating the time complexity of the algorithms in
Thanks for the advice, it's certainly one of the things I will put on my
list of future opportunities. I can't immediately see how to combine it
with lazy evaluation, but I'll stew on it for a while.
I've recently extended the optimizations I do in two particular areas -
compile-time moving of sub-expressions out of loops, and run-time lazy
evaluation, and between them they have made a big difference to
execution time for some complex stylesheets. The bad news is that most
stylesheets are not complex enough to benefit from them!
Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list