> -----Original Message----- > From: Brian Minchau [mailto:[EMAIL PROTECTED] > > David, > Nice that it ran faster on your laptop. Too bad about the > Solaris 8 box. Makes me think of some sort of synchronization issue. > > Can you tell me more about your testcase?
The code is deployed as an EAR to WebLogic, and an HTTP listener receives a SOAP message. The body is extracted and passed to a transformer class that uses the stylesheet, and then the output is sent back to the SOAP client. The stylesheet is fairly simple, with just a single template matching "/" which produces the entire result, using "xsl:value-of" calls to extract the content from the source. After the first read of the stylesheet file, it caches the Templates object and uses that for all subsequent calls to the same stylesheet. My client app (always running on my laptop) runs a testing pass sending the same message 1000 times. In each test, I measure the time from sending the message from the SOAP client until the response comes back. In each session, I send 1000 copies of the same message, synchronously. When the server runs on my laptop, the average round trip from SOAP client back to the SOAP client is ~87ms for Xalan 2.4.1 and ~80ms for Xalan 2.7.0. When the server runs on a Solaris 2.8 box on our LAN, the average round trip is ~280ms for Xalan 2.4.1 (lots of network latency there), but when the server is using Xalan 2.7.0, the time goes up to ~570ms. I think I'm going to modify the server code so that it calculates an average time just for the transform call, so I can isolate it from the other parts of the infrastructure. One thing I've noticed about the server performance is that it appears to be very much I/O bound on Solaris, but not on Windows. It's probably comparing apples to oranges, but I found that my laptop is at about 97-98% CPU during the test, but the Solaris box only gets up to about 18% CPU. > I built a test case with an xslt in my messaging bus. I > tested it on my laptop with both Xalan-J 2.4.1 and Xalan-J > 2.7.0 (although that was a while ago). I found that Xalan-J > 2.7.0 improved performance a little bit. I then copied the > same test case to a Solaris 8 box. I found that the test > case with Xalan-J 2.7.0 took TWICE as long than with Xalan-J > 2.4.1. I tried it several times, with the same results (in > each version). I'm toggling between the two Xalan versions > by using the "endorsed" directory of the JRE. I put the > xalan.jar, xml-apis.jar, xercesImpl.jar, and serializer.jar > from Xalan-J 2.7.0 into the endorsed directory, and I rename > the directory when I test it with version 2.4.1. > > My test case is running 1000 of the same transformation, > synchronously on the same thread. I'm using a cached > Templates object to get the Transformer object from. > > Is there something simple that could be causing this unusual > performance degradation in version 2.7.0?
