【发布时间】:2009-01-05 23:24:37
【问题描述】:
我正在尝试确定读取具有多行的大型文本文件、进行一些处理并将它们写入新文件的最快方法。在 C#/.net 中,StreamReader 似乎是一种看似快速的方法,但是当我尝试使用这个文件(逐行读取)时,它的速度大约是 python I/O 速度的 1/3(这让我担心因为我一直听说 Python 2.6 的 IO 比较慢)。
如果没有更快的 .Net 解决方案,是否可以编写比 StreamReader 更快的解决方案,或者它是否已经使用了我永远不希望击败的复杂缓冲区/算法/优化?
【问题讨论】:
-
一个问题,你的C#代码的瓶颈在哪里?您是否对代码进行了分析或测量? Python 1/3 的速度似乎不适用于涉及大量磁盘访问的操作。
-
每个人都得到一个有效的答案?您是否正在阅读 EOF,或者您使用流阅读器的策略是什么?
标签: c# .net parsing text buffer