【发布时间】:2015-06-14 01:18:45
【问题描述】:
所以我正在使用 .NET 中的 Protobufs,并尝试将它们与缓冲池和 AsyncSocketEventArgs 池合并。缓冲池将大字节数组的各个部分分配给事件 args。
所以,问题是,我想不出一种方法让 Protobufs 直接序列化到我的一个缓冲区上。相反,所有方法似乎都在自己的缓冲区上序列化,这会浪费时间/内存......有什么方法可以做我正在寻找的事情吗?
编辑:我创建了一个原型方案,并生成了包含不完全序列化类的增量的消息,所以我相信使用属性/序列化器类对我没有帮助。我想将字节直接写入我的缓冲区之一。我相信 MemoryStream,从我读过的内容来看,仍然只是指向一个创建的字节数组,这仍然会浪费大量的时间/内存。
【问题讨论】:
-
这与问题无关,但事件驱动的套接字IO自从await到来以来几乎已经过时了。 CPU 节省非常小,架构影响巨大。
-
很高兴知道我正在处理一些过时的网站哈哈。我会做更多的研究。
标签: c# networking serialization protobuf-net objectpool