【问题标题】:Performance creating multiple small files创建多个小文件的性能
【发布时间】:2009-07-24 21:21:37
【问题描述】:

我需要一个能够尽可能快地在磁盘上创建大量小文件的测试应用。

异步操作会帮助创建文件还是只是编写文件?有没有办法加快整个过程(无法在单个文件上写入)

【问题讨论】:

    标签: c# performance


    【解决方案1】:

    物理驱动器 IO 不会是这里的瓶颈吗?如果您写入 4200rpm 驱动器与 10,000rpm 驱动器与超快 SSD,您可能会得到不同的结果。

    【讨论】:

      【解决方案2】:

      如果我自己不编写测试应用程序,我很难说,但是磁盘访问无论如何都会同步,所以你不会有多个线程同时写入磁盘。如果在写出每个文件之前完成了相当多的处理,您可以使用线程来提高性能。

      【讨论】:

        【解决方案3】:

        如果可以使用ramdisk 测试您的应用程序,它可能会大大加快速度。

        【讨论】:

          【解决方案4】:

          如果可能,不要将它们都写在同一个目录中。许多文件系统在处理包含大量文件的目录时会变慢。 (我曾经在工作中使用我们的文件服务器,它通常很乐意为整个办公室服务,但通过将数千个文件写入同一个目录,它会崩溃)。

          相反,为每 1000 个左右的文件创建一个新目录。

          【讨论】:

            猜你喜欢
            • 2023-02-23
            • 1970-01-01
            • 1970-01-01
            • 2021-12-02
            • 1970-01-01
            • 1970-01-01
            • 2016-11-05
            • 2015-11-12
            • 1970-01-01
            相关资源
            最近更新 更多