Analysis of Picard code performance requested by Michael Wiencek indicated that a significant level of CPU time is spent processing webservice xml using bespoke loop and QXmlStreamReader to produce a list / dict hierarchy that is then navigated.
An improvement would be to use the python standard xml.etree.cElementTree module, however this would not produce the same object as the existing code, and therefore all code that navigates the existing hierarchy would need to change to use the etree interface.
This would be a significant change, not to be undertaken lightly, but would improve performance and make xml processing more standard.