コンテキスト:これは、質問に答える前に削除された質問に基づいていますが、良い質問だと思うので、整理して言い換えて、再投稿しました。
多くの割り当てが問題となるprotobuf-netを使用した高スループットのシナリオ(特にGCの場合)では、オブジェクトを再利用できますか?たとえば、Clear()
メソッドを追加することによって?
[ProtoContract]
public class MyDTO
{
[ProtoMember(1)]
public int Foo { get; set; }
[ProtoMember(2)]
public string Bar { get; set; }
[ProtoMember(3, DataFormat = DataFormat.Group)]
public List<int> Values { get { return values; } }
private readonly List<int> values = new List<int>();
public void Clear()
{
values.Clear();
Foo = 0;
Bar = null;
}
}