0

Java でファイル/フォルダーを削除すると、パフォーマンスが低下します。

コードはかなり古いので、Java 7 (アップグレードしたもの) が実際にパフォーマンスの改善を提供するのか、それとも別の構文を提供するのか疑問に思っています。(メリットがない限り、すべてを改造したくありません)。私は定期的に大きな ZIP を抽出してからコンテンツを削除する必要があり、再帰時間は残忍です。

私もWindowsで立ち往生しています。

ありがとう

4

2 に答える 2

2

コミュニティによって既に提供されている何らかの種類の jar を使用することをお勧めします。例: common-io.xx.jar、spring-core.jar

    Eg, org.apache.commons.io.FileUtils;
        FileUtils.copyDirectory(from, to);
        FileUtils.deleteDirectory(childDir);
        FileUtils.forceDelete(springConfigDir);
        FileUtils.writeByteArrayToFile(file, data);

        org.springframework.util.FileSystemUtils;
        FileSystemUtils.copyRecursively(from, to);
        FileSystemUtils.deleteRecursively(dir);
于 2012-09-24T15:23:46.893 に答える
1

ファイル IO は、ハードウェアのパフォーマンスに大きく依存します。多くの HDD は、毎秒 80 ~ 120 IOPS を実行できます。ファイルを開く場合は、1 秒あたり最大 120 ファイルを読み取ることができます。ファイルを削除するには、1 秒あたり 2 回の更新または最大 60 個のファイルの削除が必要になる場合があります。これらの制約により、ソフトウェアでできることはほとんど何もありません。

ただし、SSD を使用している場合は、1 秒あたり 80,000 ~ 230,000 IOPS を実行できます (1,000 倍以上の増加)。この時点で、ソフトウェアによって違いが生じる可能性がありますが、圧縮ファイルを扱っているため、その CPU が最も適しています。この時点でボトルネックになります。

于 2012-09-24T14:47:10.347 に答える