使用 BinaryFormatter 进行序列化/反序列化,生成的序列化文件大小约为 80MB。反序列化需要几分钟。我该如何改进?这是反序列化代码:
public static Universe DeserializeFromFile(string filepath)
{
Universe universe = null;
FileStream fs = new FileStream(filepath, FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
try
{
universe = (Universe)bf.Deserialize(fs);
}
catch (SerializationException e)
{
Console.WriteLine("Failed to deserialize. Reason: " + e.Message);
throw;
}
finally
{
fs.Close();
}
return universe;
}
也许在反序列化或使用其他序列化技术之前全部读取到内存?
最佳答案
试试 UnsafeDeserialize
.据说可以提高速度。
关于c# - 如何提高反序列化速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1620663/