Когда и почему я должен использовать TStringBuilder?
Год назад я перевел свою программу с Delphi 4 на Delphi 2009, в основном для перехода на Unicode, а также для получения преимуществ от всех этих лет улучшений Delphi.
Поэтому мой код, конечно, весь устаревший код. Он использует короткие строки, которые теперь все удобно превращаются в длинные строки Unicode, и я изменил все старые функции ANSI на новый эквивалент.
Но с Delphi 2009 они представили класс TStringBuilder, предположительно смоделированный после класса StringBuilder .NET.
Моя программа выполняет много операций со строками и может загружать в память сотни мегабайт больших строк одновременно.
Я не знаю много о реализации TStringBuilder в Delphi, но я слышал, что некоторые из его операций выполняются быстрее, чем использование строковых операций по умолчанию.
Мой вопрос заключается в том, стоит ли мне проходить это усилие и конвертировать мои стандартные строки в класс TStringBuilder. Что бы я получил и потерял от этого?
Спасибо за ваши ответы и за то, что привели меня к выводу, который не должен беспокоить, если не требуется совместимость с .NET.
В своем блогеДжолион Смит заявляет, что струнная игра Delphi 2009:
Но мне кажется, что TStringBuilder существует в основном как приспособление для совместимости с .NET, а не для того, чтобы давать какую-либо реальную выгоду разработчикам приложений Win32, с возможным исключением разработчиков, желающих или нуждающихся в одном источнике кодовой базы Win32 / .NET. где производительность обработки строк не имеет значения.