在我的java应用程序中,我需要将多个文件从hdfs复制到本地文件系统。以下两种方法中哪一种更快?1按顺序逐个复制文件2。运行并行线程来复制每个文件。
djp7away1#
如果您有一个物理磁盘作为本地文件系统的一部分,那么最好采用顺序方法,因为并行方法会导致磁盘(在硬盘驱动器的情况下)不必要地来回旋转(取决于操作系统是否可以帮助您以及写入的性质),而且因为一次只能使用一个物理资源,所以一个线程就足够了。如果这个本地文件系统有多个物理磁盘,那么运行并行线程以获得更高性能的可能性就非常理想了(比如线程a写入所有要到驱动器c的文件,而线程b写入所有要到驱动器d的文件)。
1条答案
按热度按时间djp7away1#
如果您有一个物理磁盘作为本地文件系统的一部分,那么最好采用顺序方法,因为并行方法会导致磁盘(在硬盘驱动器的情况下)不必要地来回旋转(取决于操作系统是否可以帮助您以及写入的性质),而且因为一次只能使用一个物理资源,所以一个线程就足够了。
如果这个本地文件系统有多个物理磁盘,那么运行并行线程以获得更高性能的可能性就非常理想了(比如线程a写入所有要到驱动器c的文件,而线程b写入所有要到驱动器d的文件)。