Assuming the config information doesn't change during the runtime of the application, performance should not be a major factor in deciding between the two. It's likely that startup and configuration time pale in comparison to the overall execution time of the application.
I would only go with a properties approach IF: 1. All parameters can be represented as simple name - value pairs 2. There is absolutely no hierarchy or other structure that controls the use of the name - value pairs.
Dynamic configuration (which I take to mean changing the configuration of a running program) can be done with either approach. Just make sure that synchronization is used to prevent access during the changeover, and that changes properly propagate through the system.
I use XML where my applications have to support a fairly deep hierarchy and properties for simple stuff. Bill [ July 05, 2005: Message edited by: William Brogden ]
We used to see a lot of properties files like that in JRun servlet configuration before the servlet API added web.xml they were a real pain to track, write and edit. By going to XML you can use the XSLT, Xquery, Xpath, namespaces, entities, DTDs and Schema. Nothing similar exists for properties.