オブジェクトのクローンを作成するコードを最適化しようとしています:
#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 プロファイラーによると、プロファイラーのオーバーヘッドがあると確信していますが、それでも)。
クローンを作成するためのより優れた高速な方法はありますか?