你将如何处理1GB的文本数据?

c0r*_*li0 4 php regex text

任务:处理3个大小接近1GB的文本文件并将其转换为csv文件.源文件具有自定义结构,因此正则表达式将非常有用.

问题:没有问题.我使用PHP,它没关系.我实际上并不需要更快地处理文件.我只是好奇你将如何处理这个问题.最后,我希望看到简单方便的解决方案,可能比php更快.

@felix我很确定.:)如果我完成了整个项目,我可能会将其发布为跨语言代码乒乓.

@mark我的方法目前的工作原理是这样的,除了我缓存几百行以保持低文件写入.通过记忆权衡的深思熟虑可能会挤出一段时间.但我确信其他方法可以胜过PHP,就像完全利用*nix工具集一样.

Mar*_*ers 6

首先,你使用哪种语言可能并不重要,因为它可能会受到I/O限制.更重要的是您使用有效的方法/算法.特别是,如果可能,您希望避免将整个文件读入内存,并避免在将结果写入磁盘之前将结果连接成一个巨大的字符串.

而是使用流式方法:读取一行输入,处理它,然后写一行输出.