I profiled an app of mine which uses Saxon to parse a significant amount of
XML data, and I've noticed Saxon was using many Lists and Maps. The default
List and Map implementations by Sun/Oracle are not as performant as those
offered by the Javolution library, so I thought maybe Saxon could harvest some
performance / memory consumption gains by using Javolution:
Thanks for the suggestion. Before doing any work in this area, I would want
evidence that there is a significant opportunity for visible improvements to
user workloads. Intrinsically, it seems likely to me that Saxon is spending at
most 5% of its time in these classes, and that a 10% faster implementation of
the classes will therefore give a bottom line improvement of 0.5% at best. No-
one will notice that; it's therefore not worth the implementation effort and
the risk of introducing bugs. That's my starting position - feel free to try
and persuade me otherwise.
It's worth noting that Saxon already avoids using the standard Collection
classes on many paths where performance is known to be critical.
Hmm, I had no idea the situation was so. I was recently involved in a project
where overall performance benefited from using Javolution (since the
collections we processed were so large), so I thought maybe Saxon could
benefit as well. After your analysis, however, I agree that the speed gains
would be indeed negligible, but I believe that perhaps memory consumption
could be reduced by a more interesting margin. However, lacking proper testing
and solid numbers, it really doesn't seem worth the effort. Thanks for your
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.