我必须处理非常大的日志文件(数百GB),为了加快速度,我想在我可用的所有核心上拆分处理。使用seekg和tellg我能够在相对较小的文件中估计块大小,并将每个线程放在这些块的开头,但是当它们变大时,索引会溢出。
使用C ++ ifstreams和Linux时,如何在非常大的文件中定位和索引?
最好的问候。
答案 0 :(得分:2)
最简单的方法是在64位操作系统上进行处理,并使用64位编译器编写代码。这将(至少通常)为您提供64位类型的文件偏移,因此溢出不再发生,生活也很好。
答案 1 :(得分:1)
您有两种选择: