XSLT is designed to do tree transformations, and is rather weak at
string handling. By using d-o-e all the time you are not generating a
tree at all in the output but are just generating a single text node
with a very large string that happens to have some < and > in there
somewhere.
Given that, it wouldn't be surprising if you were using some of the less
optimised parts of your XSLT engine's code.
Never use disble-output-escaping unless you are certain that you are in
some really special and rare situation where (a) it will help (b) you
don't care about interoperability.
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list