Могу ли я повторно -использовать экземпляры объектов, чтобы избежать выделения памяти с помощью protobuf -net?

Контекст :это основано на вопросе, который был задан, а затем удален до того, как я смог на него ответить -, но я думаю, что это хороший вопрос, поэтому я привел его в порядок, перефразировал и повторно -опубликовал..

В сценарии с высокой -пропускной способностью с использованием 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;
    }
}
7
задан Marc Gravell 15 August 2012 в 09:30
поделиться