所以我有一个大文件,大约有 200 万行。文件读取是我的代码中的瓶颈。欢迎任何建议的方法和专家意见来更快地阅读文件。从该文本文件中读取行的顺序并不重要。所有行都是管道“|”分隔的固定长度记录。
我尝试了什么?我开始并行StreamReader
并确保资源被正确锁定,但这种方法失败了,因为我现在有多个线程争夺单个资源StreamReader
并在锁定等方面浪费更多时间,从而使代码进一步减慢。
一种直观的方法是破坏文件然后读取它,但我希望保持文件完好无损,并且仍然能够以某种方式更快地读取它。
我会尝试最大化我的缓冲区大小。默认大小为 1024,增加此值应该会提高性能。我建议尝试其他缓冲区大小选项。
StreamReader(Stream, Encoding, Boolean, Int32) 初始化一个新的
指定流的 StreamReader 类的实例,其中
指定的字符编码、字节顺序标记检测选项,以及
缓冲区大小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)