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