一年前我将程序从Delphi 4转换为Delphi 2009,主要是为了跳转到Unicode,同时也获得了Delphi多年来改进的好处.
我的代码当然是所有遗留代码.它使用短字符串,现在已经很方便地变成了长Unicode字符串,并且我已经将所有旧的ANSI函数更改为新的等效函数.
但是在Delphi 2009中,他们引入了TStringBuilder类,可能是在StringBuilder类.NET之后建模的.
我的程序执行了大量的字符串处理和操作,并且可以同时将数百兆字节的大字符串加载到内存中.
我不太了解Delphi的TStringBuilder实现,但我听说它的一些操作比使用默认字符串操作更快.
我的问题是我是否值得通过努力并将我的标准字符串转换为使用TStringBuilder类.这样做我会得到什么和失去什么?
感谢您的回答并引导我得出结论,除非需要.NET兼容性,否则不要打扰.
在他关于Delphi 2009 String Performance的博客中,Jolyon Smith说:
但它看起来好像TStringBuilder主要作为.NET兼容性工具,而不是为Win32应用程序的开发人员提供任何真正的好处,可能除了希望或需要单一来源Win32/.NET代码库的开发人员字符串处理性能不是一个问题.