gpt4 book ai didi

c# - 快速读取大量文件

转载 作者:太空狗 更新时间:2023-10-29 20:15:10 24 4
gpt4 key购买 nike

我有大量 (>100k) 相对较小的文件 (1kb - 300kb) 需要读入和处理。我目前正在遍历所有文件并使用 File.ReadAllText 读取内容、处理它,然后读取下一个文件。这很慢,我想知道是否有优化它的好方法。

我已经尝试过使用多线程,但由于这似乎受 IO 限制,所以我没有看到任何改进。

最佳答案

您很可能是正确的 - 读取那么多文件可能会限制您的潜在加速,因为磁盘 I/O 将成为限制因素。

话虽这么说,您很可能可以通过将数据处理传递到单独的线程来进行小幅改进。

我建议尝试使用一个“生产者”线程来读取您的文件。该线程将受到 IO 限制。当它读取文件时,它可以将“处理”推送到 ThreadPool 线程(.NET 4 任务对此也很有效)以进行处理,这将允许它立即读取下一个文件。

这至少会从总运行时间中扣除“处理时间”,使您的工作总时间几乎与磁盘 IO 一样快,前提是您有一个或两个额外的核心可以使用...

关于c# - 快速读取大量文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3205898/

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