我大约有30000个对象可以在文件中进行二进制序列化,
我正在使用一个简单的foreach循环此基本代码来做到这一点:

FileStream fileStream = new FileStream(pathToFile, FileMode.Create);
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize((Stream) fileStream, objectToSerialize);
fileStream.Close();

我可以使用多线程或其他方式来加速进程吗? (内存流等)

最佳答案

重用binaryFormatter,而不是每次都重新创建它。在FileStream和格式化程序之间使用BufferedStream也可以提高性能。
顺便说一句:即使在序列化过程中引发异常的情况下,也可以使用“使用”来确保关闭文件流。

关于c# - 二进制文件生成性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24678442/

10-11 18:03