>> The first comment claims a 30-40% increase in XML parsing, which seems obvious when you compare the number of characters in the example provided: 277 vs. 419, or about 34% fewer going through the parser. > > The speedup can be much greater than that -- from the blog post > itself, "Using xsltproc --timing showed that our transformations were > faster by a factor of 4-5. Shortening the element names only improved > performance fractionally, but since everything counts, we decided to > do this as well". xsltproc uses the highly optimised LibXML/LibXSLT > stack, which I guess maybe doesn't have so much constant-time overhead > as the PHP simplexml parser that yielder the smaller speedup. Sure, but XML parsing (libxml) and XSLT (libxslt) transforming are very different operations. I would expect parsing to scale linearly with the byte-length of XML being parsed. XSLT, on the other hand, is presumably much more dependent on the complexity of the XSL being applied (depth/structure of XML, number of templates matches, complexity of XPath statements, etc.) So I'd expect a series of XSLT transforms to have a much more variable change in performance than just parsing. As I say, if you're writing custom XSL anyway, then certainly having a more compact syntax is going to yield better performance. I'm sure to those for whom Turbomarc is useful, it's *very* useful, but it definitely seems to be nearing the limit of the readability-performance balance. ;-) Also, standing w00t: Indexdata++ MJ