我有数千个文件(50K),每个文件大约有 10K 行。我读取文件进行一些处理并将这些行写回输出文件。虽然我的阅读和处理速度更快,但将字符串迭代器转换回单个字符串并将其写入文件的最后一步需要很长时间(几乎一秒钟。我不会为整个过程做数学运算大约 50K 的文件数量)。我认为这是提高解析时间的瓶颈。
这是我的代码。
var processedLines = linesFromGzip(new File(fileName)).map(line => MyFunction(line))
var outFile = Resource.fromFile(outFileName)
outFile.write(processedLines.mkString("\n")) // severe overhead caused by this line-> processedLines.mkString("\n")
(我在其他几个论坛/博客上读到 mkString比其他方法好得多。(例如)
有没有更好的替代 mkString("\n") ?是否有一种完全不同的方法可以提高我处理文件的速度。(请记住,我有 50K 个文件,每个文件接近 10K 行)。