冥界3大法王 发表于 2024-4-1 09:12

如何用Delphi处理大数据(譬如几个G的*.TXT)

要达到 EmEditor 编辑器 那样处理几个G 文本不卡顿的效果的源码!{:301_974:}
假设按行读取,把每行AAA替换成ZZZ(假设,重点是大数据,不卡顿){:301_974:}

tuwan 发表于 2024-4-1 09:32

tuwan 发表于 2024-4-1 09:29
https://www.aliyundrive.com/s/oESNwsmzy68 阿里云的链接,不知是否可以解决问题

回复错帖子了,不用管我:Dweeqw,楼主

冥界3大法王 发表于 2024-4-1 09:42

tuwan 发表于 2024-4-1 09:32
回复错帖子了,不用管我,楼主

好吧既然已经知道思过,那就不用举报版主哥了。{:301_986:}

houzhanwu 发表于 2024-4-1 09:42

法王姥爷都来求助了:lol

forever96 发表于 2024-4-1 09:43

用流读一点处理一点应该也不卡吧

sam喵喵 发表于 2024-4-1 09:45

用C语言 64位数据结构操作过10G左右的单文件,但是没有替换过内容。
这么大数据处理肯定会花点时间

JuncoJet 发表于 2024-4-1 09:49

大致两种方法
1. 使用Windows自带的文件映射,但32位程序有限制,必须64
2. 自己管理内存块,无明显限制,但设计者对程序设计得逻辑清晰

Chess2l 发表于 2024-4-1 09:53

不嫌麻烦的话搭一个Hadoop,用HDFS

52blah 发表于 2024-4-1 10:57

1、首先处理大文件要用内存映射文件打开,不然打开会很慢,只是解决打开文件速度的问题
2、循环处理中要调用Application.ProcessMessages,让win有机会处理消息,这个解决卡顿的问题
3、字符串查找替换cpu占用应该不多,io读写是瓶颈,加缓存异步写,读也就那样了

DEATHTOUCH 发表于 2024-4-1 12:20

取决于有没有高性能的文本处理方面的代码,通常需要利用到avx指令集,当然还要做好缓存方案。
页: [1] 2
查看完整版本: 如何用Delphi处理大数据(譬如几个G的*.TXT)