如何用Delphi处理大数据(譬如几个G的*.TXT)
要达到 EmEditor 编辑器 那样处理几个G 文本不卡顿的效果的源码!{:301_974:}假设按行读取,把每行AAA替换成ZZZ(假设,重点是大数据,不卡顿){:301_974:} tuwan 发表于 2024-4-1 09:29
https://www.aliyundrive.com/s/oESNwsmzy68 阿里云的链接,不知是否可以解决问题
回复错帖子了,不用管我:Dweeqw,楼主 tuwan 发表于 2024-4-1 09:32
回复错帖子了,不用管我,楼主
好吧既然已经知道思过,那就不用举报版主哥了。{:301_986:} 法王姥爷都来求助了:lol 用流读一点处理一点应该也不卡吧 用C语言 64位数据结构操作过10G左右的单文件,但是没有替换过内容。
这么大数据处理肯定会花点时间 大致两种方法
1. 使用Windows自带的文件映射,但32位程序有限制,必须64
2. 自己管理内存块,无明显限制,但设计者对程序设计得逻辑清晰 不嫌麻烦的话搭一个Hadoop,用HDFS 1、首先处理大文件要用内存映射文件打开,不然打开会很慢,只是解决打开文件速度的问题
2、循环处理中要调用Application.ProcessMessages,让win有机会处理消息,这个解决卡顿的问题
3、字符串查找替换cpu占用应该不多,io读写是瓶颈,加缓存异步写,读也就那样了 取决于有没有高性能的文本处理方面的代码,通常需要利用到avx指令集,当然还要做好缓存方案。
页:
[1]
2