【发布时间】:2009-07-24 21:21:37
【问题描述】:
我需要一个能够尽可能快地在磁盘上创建大量小文件的测试应用。
异步操作会帮助创建文件还是只是编写文件?有没有办法加快整个过程(无法在单个文件上写入)
【问题讨论】:
标签: c# performance
我需要一个能够尽可能快地在磁盘上创建大量小文件的测试应用。
异步操作会帮助创建文件还是只是编写文件?有没有办法加快整个过程(无法在单个文件上写入)
【问题讨论】:
标签: c# performance
物理驱动器 IO 不会是这里的瓶颈吗?如果您写入 4200rpm 驱动器与 10,000rpm 驱动器与超快 SSD,您可能会得到不同的结果。
【讨论】:
如果我自己不编写测试应用程序,我很难说,但是磁盘访问无论如何都会同步,所以你不会有多个线程同时写入磁盘。如果在写出每个文件之前完成了相当多的处理,您可以使用线程来提高性能。
【讨论】:
如果可以使用ramdisk 测试您的应用程序,它可能会大大加快速度。
【讨论】:
如果可能,不要将它们都写在同一个目录中。许多文件系统在处理包含大量文件的目录时会变慢。 (我曾经在工作中使用我们的文件服务器,它通常很乐意为整个办公室服务,但通过将数千个文件写入同一个目录,它会崩溃)。
相反,为每 1000 个左右的文件创建一个新目录。
【讨论】: