While debugging/profiling a very big application for our customer I found out that the current implementation of the TraxTransformer is slowing down caching!
Why? Well, the caching algorithm asks every sitemap component if the cached content is still valid. The TraxTransformer answers this question by looking if the stylesheet has changed since the last use (time stamp comparison). So far so good, but you can have imports/includes in your xslt, so the TraxTransformer checks them as well - and this is done by "parsing" the xslt and looking at all includes/imports. This parsing is done, even when the content is fetched out of the cache. Due to this mechanism, each stylesheet is parsed on every request (if cached content is used or not) which is in most cases unnecessary. As we didn't use the "use-store" parameter of the xslt transformer this is a real performance problem! As the parsing is very time consuming, delivering a cached content is still "slow". We had figures, where a cached content took 1.5 sec (and producing it from scratch took 1.8 sec). With the recent changes we are down below 100ms for delivering the cached content! I added a "check-includes" configuration to the TraxTransformer. If you set it to "false" imported stylesheet are not checked for changes for the caching, but you really feel the performance difference. So, you loose a little bit comfort but gain a lot of performance improvements. And if you use it only for production, it shouldn't be a problem anyway. (The default is "as-is") PS: The new feature will be released with 2.1.3 in approx. two weeks. Carsten