使用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;
}
也許閱讀所有內存之前反序列化或使用一些其他的序列化技術?
內如果讓事情變得更好,而不是更壞,那麼序列化格式很爛。爲什麼I/O綁定任務*後跟* CPU綁定任務,當你可以同時執行交叉操作? – hobbs 2009-10-25 12:05:39