KPerry
Reg file will save everything, including fields that aren't user-editable; it's perfect for a backup. But if you want to edit "safe" fields such as names or transfer settings to another computer (or user), the XML is probably safer.
You may have address this later in the thread (perhaps page 2 or 3), and if I missed that I apologize.
I would think that if you had a process that ran as a user-triggered rebuild/recompile/data-update-function, then you could read an external file that contained your internal tables, or however your data is set up for the execution of the code.
So, rather than build up whatever internal data you are working with, that slows your current process down - doing it every time someone runs it, you have a separate process or some menu option when the utility starts, or done outside of Sonar altogether, do that process ONCE, and save everything that way, so it doesn't have to rebuild the same thing from the same data, every time.
Them, whenever an updated set of data needs to be absorbed by the utility, the user could run/trigger the functionality to rebuild the internal data and save the data in a single update run. This way, the MAJORITY of the time, the utility would run super quickly, and only once in a while require the updating of the internals.
I guess you could also just compile up a new version of the utility whenever its internal data needs change, and just release it, and replace the obsolete one.
Just some thoughts on it :)
Bob Bone