gpt4 book ai didi

.net - 如何在C#中从.NET的StreamWriter中获得最佳性能?

转载 作者:行者123 更新时间:2023-12-04 13:25:08 24 4
gpt4 key购买 nike

当我们需要创建大于10 MB的文本文件时,为获得最佳性能,建议采用什么方法?

代码中有多个部分需要将内容写入单个文件。这意味着很多文本行。

选项1(此逻辑将多次调用):

  • 创建一个StreamWriter实例
  • 写一些行(根据一些业务逻辑)
  • 关闭StreamWriter实例

  • 选项2:
  • 在程序
  • 的开头创建一个StreamWriter
  • 编写代码不同部分中的所有行。
  • 当不需要编写其他任何内容时,请在最后关闭StreamWriter。

  • 选项#3:还有其他吗?

    请记住,输出文件可能大于10 MB。

    最佳答案

    保持单个编写器处于打开状态将比重复打开和关闭单个编写器更为有效。但是,如果这是关键数据,则应在每次写入后调用Flush(),以确保它已进入磁盘。

    您的程序是多线程的吗?如果是这样,您可能希望有一个生产者/消费者队列-只有一个线程从队列中读取要写入的项目并进行写入,然后其他线程可以将项目自由地放在队列中。

    您确定确实有性能问题吗?如今,10MB很小……在我的上网本上,写入10MB仍然只需要大约一两秒钟(不,这不是固态驱动器)。

    关于.net - 如何在C#中从.NET的StreamWriter中获得最佳性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1273493/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com