Mea (tool) culpa! I am investigating an inaccuracy in CPU measurements reported by the Java Memory Profiler Tool that led me to the conclusion thet PropertyList.findProperty is the high-runner in FOP 0.20.5.
A couple of other profilers report that findProperty() uses more CPU than we would like (10-12%) but less than JMP reports. Note that this measurement error in JMP also affects other XML code such as Xerces and Xalan as these are also recursive. I reported the question to the jmp-dev list and will advise when I get corrected results from a corrected program. I found a good list of profilers at: http://www.computerprograms.com/Directory/Computers/Programming/Languages/Java/Development_Tools/Performance_and_Testing/Profilers/ I have tested several profilers and JMP is the easiest to use. It is slower than Sun's hprof but has some nice features. 1) JMP -- nice but slow and has a problem over-reporting CPU seconds used by subordinates when those subordinates include recursive methods (i.e. findProperty()). 2) JPerfAnal -- based on hprof but quite slow and the GUI was done quickly i.e. is a kludge) Usable and one source of my suspicions about JMP. 3) HPMeter -- based on hprof but it crashes on the output from my traces. Odd because HP are usually pretty good (except for some device drivers). 4) prophIt -- a demo delivered by Java Webstart uses hprof input and has a really novel GUI to visualize performance. Unfortunately the GUI isn't quite there yet. The program is represented like a skyscraper where each floor has slabs representing CPU used. Higher 'floors' represent subordinate functions in the call tree. The item I don't like is the fact that the vertical dimension draws the eye to thin spires that are very tall. This could make you ignore bug flat slabs of CPU usage. Not all floors should be the same height. When they get this right it will be a category killer. Still very useful as it uses the same input as JPerfAnal HPMeter and a lot of others. This helped me find the error in JMP because I could not find findProperty() in the 3D graph. 5) EJP -- Extensible Java Profiler is a CS students excellent project. Unfortunately, it's a bit slow and requires one to read and follow directions. This one also helped me find the error in JMP after I read the Fine Manual. I have also decided to use the command line class for future performance measurements. -- John Austin <[EMAIL PROTECTED]>