我正在尝试优化一个复制对象的代码:
#region ICloneable
public object Clone()
{
MemoryStream buffer = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(buffer, this); // takes 3.2 seconds
buffer.Position = 0;
return formatter.Deserialize(buffer); // takes 2.1 seconds
}
#endregion
这是相当标准的事情。问题在于对象非常庞大,需要5.4秒(根据ANTS Profiler - 我确定有分析器开销,但仍然很长)。
是否有更好、更快的克隆方法?