We notice significant differences in performance between Tomcat 7 and Websphere 6 in our web application. Same war file was deployed in these two web containers. The bottleneck in Websphere is when it compiles the stylesheets (seen in logs as "XL TXE-J compiling stylesheet: jstl"). It takes about 2 to 3 seconds in Websphere and a few milliseconds in Tomcat. The answer will help us identify our next step to fix the slow XML codes. Thanks in advance!
Asked
Active
Viewed 259 times
1 Answers
0
You can find out what XSLT processor is being used by calling system-property('xsl:vendor'). In any complex environment it's a good idea to make this standard practice, add something like
<xsl:comment>Transformed using <xsl:value-of
select="system-property('xsl:vendor')"/></xsl:comment>
to output the information into your result documents.
It's also a good idea for your application to be a bit picky about what XSLT processor it uses. Don't just take whatever the JAXP mechanism finds lying around on the classpath, load an XSLT processor that your application has actually been tested with.
I would suspect that the performance difference you are seeing isn't caused solely by loading a different XSLT engine, but by some other factor such as caching of stylesheets or other resources.

Michael Kay
- 156,231
- 11
- 92
- 164
-
As a matter of interest, were the two environments using different processors? – Michael Kay Sep 04 '14 at 08:40
-
Yes they were. Was using Tomcat as a development testing environment on my workspace. While Websphere is deployed on the test servers. Can't use Websphere on my dev computer because of license restrictions. Was hoping they would behave the same way since they **should** both comply with servlet specs and they run the same JDK versions. As it turns out, IBM JDK 1.7 and Oracle JDK 1.7 behaves differently. BTW, I also just found out that we are already using Websphere 8.5. I updated the question for those who will read this post. – John Tolentino Sep 09 '14 at 06:36