Over the last week I've been working with Toadie (a Xalan user) who had some very serious performance degradation with a webserver using Xalan.
On an intel dual-core machine it was 10 times slowdown than for a single processor intel machine. The problem occurs in this combination for the latest code: - Intel dual-processor - Sun JRE 5 Toadie's team was very capable and found that there was thread contention with synchronized methods, either Xalan-J code or in JRE classes such as java.util.Vector used by Xalan-J. This performance problem was so bad that thread contention just screamed at us, and made it easy to fine the "hot" synchronization spots. With their direction I changed Vector to the unsynchronized ArrayList in a number of locations got back most of the performance for them. Toadie previously let me know that a single processor did not have this problem, and recently checked that the IBM JRE 5 does not have the same synchronization performance problem on the dual-core machine. So heads up on Xalan's next multiprocessor performance problem. Hats off to Toadie who did a great job of analysis, providing hardware to do the analysis, and even the patches. - Brian Minchau mailto:[EMAIL PROTECTED]