在没有文件系统缓存的情况下编写大量小文件的更快方法?

时间:2016-12-24 02:42:38

标签: c# file io filesystems

我有一个需要编写大量文件(数十万个)的应用程序,这些文件的大小都相当小(通常为4KB到64KB)。它们需要以持久的方式编写,即没有文件系统缓存。除了我在下面的方式之外,你有更快的方式知道吗? ANTS说这是我代码中的瓶颈(是的,我理解磁盘几乎总是瓶颈)。很遗憾在SSD上看到如此低的吞吐量,但我理解,因为文件很小。永远不会追加这些文件。

    using (var fs = new FileStream(
        filename, 
        System.IO.FileMode.OpenOrCreate, 
        FileAccess.Write, 
        FileShare.None, 
        0x1000, 
        FileOptions.WriteThrough))
    {
        fs.Write(data, 0, data.Length);
    }

0 个答案:

没有答案