I would honestly like to know what is the purpose of TStringBuilder, and what does it improve?
Jeroen Pluimers on stackoverflow writes
"TStringBuilder reallocates the underlying buffer with an over capacity scheme, which means that with large buffers and frequent appends, it can be a lot faster than TStringList...but to get the TStringBuilder content, you have to call the ToString method which can slow things down."
Some people find TStringBuilder methods easier to read and use than standard string-appending code, but in many cases you would be gaining readability at the expense of slightly reduced performance (assuming you find it more readable).
Someone else posted this:
"TStringBuilder was introduced solely to provide a source code compatible mechanism for applications to perform string handling in Delphi and Delphi.NET. You sacrifice some speed in Delphi for some potentially significant benefits in Delphi.NET
The StringBuilder concept in .NET addresses performance issues with the string implementation on that platform, issues that the Delphi (native code) platform simply does not have.
If you are not writing code that needs to be compiled for both native code and Delphi.NET then there is simply no reason to use TStringBuilder."