【发布时间】:2012-08-15 09:30:22
【问题描述】:
上下文:这是基于一个在我回答之前被问到然后删除的问题 - 但我认为这是一个很好的问题,所以我整理了它,重新措辞并重新发布了它.
在使用 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;
}
}
【问题讨论】:
标签: c# .net protobuf-net