I did intensive comparisons based on this link some time ago. Meanwhile, using Arrays is faster than composing Strings with MemoryBlocks. The Xojo framework has now optimized Arrays very neatly for speed.
Just use String Arrays and route the output String with String.FromArray.
Update:
The difference between string concatenation and normal XML methods didnt make much difference in the end.
What did make a difference was threads, despite my reservations
I have a fast cloning routine internally that isnt the same as ‘save to file format’
(I use it as a form of undo)
Having cloned the current document, I make the clone save itself in a thread.
Then a list of available files needs to be updated: I can’t do that in a thread, so the thread sets a timer to run once and refresh a data set.
Much more responsive for the user.