delphi – 在写入文件之前,我应该使用TMemoryStream作为有效的缓冲区吗?

delphi – 在写入文件之前,我应该使用TMemoryStream作为有效的缓冲区吗?,第1张

概述我正在使用D6 Professional,需要从内存中已有的许多小字符串创建特定格式的文本文件.出于性能原因,我正在考虑使用TMemoryStream来整理文件数据,然后通过TFileStream一次性将其写入磁盘. 但是我有一半被遗忘的记忆(可能是在D6之前的日子里)读取TMemoryStream效率低下的地方,特别是在它达到容量大小之后.我的Delphi(和Windows API)技能不足以检 我正在使用D6 Professional,需要从内存中已有的许多小字符串创建特定格式的文本文件.出于性能原因,我正在考虑使用TMemoryStream来整理文件数据,然后通过TfileStream一次性将其写入磁盘.

但是我有一半被遗忘的记忆(可能是在D6之前的日子里)读取TMemoryStream效率低下的地方,特别是在它达到容量大小之后.我的Delphi(和Windows API)技能不足以检查自己的Classes.pas代码.

(OFFtopIC)特别是这样的代码:( Classes.pas的第5152行):
    NewCapacity:=(NewCapacity(MemoryDe​​lta – 1))而不是(MemoryDe​​lta – 1);
(/无关)

令我担心的是,相关问题的结论
    Using MemoryStream to write out to XML
是不是要使用TMemoryStream,但没有说明原因 – 无论是由于TMemoryStream本身,还是因为TfileStream或I / O设备驱动程序中有足够的缓冲,或者只是有问题的代码的细节.

谢谢你的建议
问候,
PhilW.

解决方法 普通的TfileStram也可以进行缓冲,这足以优化I / O.将MemoryStream放在前面只会增加开销. 总结

以上是内存溢出为你收集整理的delphi – 在写入文件之前,我应该使用TMemoryStream作为有效的缓冲区吗?全部内容,希望文章能够帮你解决delphi – 在写入文件之前,我应该使用TMemoryStream作为有效的缓冲区吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1270859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存