gpt4 book ai didi

c# - 使用 MemoryMappedFile 对大型文本文件执行搜索是否有意义?

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:33 26 4
gpt4 key购买 nike

我的任务是实现一个搜索功能,该功能将搜索几个大型(几 MB)日志文件并返回包含关键字的行。日志文件不断被添加到池中,因此每次搜索都必须是动态的。

创建 MemoryMappedFile 是否有意义?对于每个文件,然后遍历每一行,匹配关键字?如果没有,什么是更好的解决方法?

任何指向示例代码的链接都将不胜感激。

最佳答案

是的。 “几 MB”并不算多,2 GB 就足够了。

您需要使用 constructor that takes a mapping size因为文件会随着时间增长。另外,我认为您需要在每次搜索时重新创建访问器或流,但我发现 MSDN 在这里有点不清楚。

使用 Stream,创建 StreamReader 并读取每一行是微不足道的。整个过程很可能是 I/O 绑定(bind)在合理的硬件上,所以一开始不要为 CPU 优化而烦恼。

关于c# - 使用 MemoryMappedFile 对大型文本文件执行搜索是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6734134/

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