如何在scala中有效地同时处理300多个文件

Ekk*_*anz 4 file-io scala

我将使用Scala比较大约300个二进制文件,逐个字节,每个4MB.但是,根据我已经完成的工作,使用java.BufferedInputStream同时处理15个文件在我的机器上了大约90秒,所以我认为我的解决方案在大量文件方面不会很好.

我们非常感谢您的意见和建议.

编辑:实际任务不只是比较差异,而是以相同的顺序处理这些文件.比方说,我要看看字节第i个的每一个文件的同时,并移动到(第i + 1).

zil*_*n01 6

您是否注意到在读取文件时硬盘驱动器会慢慢蒸发?并行读取多个文件并不是机械硬盘设计为全速运行的.

如果文件总是这么小(4MB足够小),我会将整个第一个文件读入内存,然后将每个文件与它串联.

我不能评论固态硬盘,因为我没有他们的性能第一手经验.