快速的 .NET 序列化程序,用于大型尝试

本文关键字:用于 大型 程序 NET 序列化 | 更新日期: 2023-09-27 18:33:14

我们在服务器端服务中有一个很大的尝试,它有数千万个节点。整个尝试大约需要 4 个 RAM 的演出。到目前为止,我们只使用基本的二进制 .NET 序列化将 trie 存储在文件中并将其重建回内存中。但是它太慢了...在我们的例子中,什么是更好的序列化算法,某种类似直接mmap的技巧会很棒,但 .NET 不允许自定义内存分配器。目的是尽量减少保存,尤其是从文件中加载trie(文件大小不是我们的问题)。

注意:由于延迟,我们绝对不能为此使用关系数据库。

更新:嗯,我们发现这个类似的问题将尝试持久化到文件 - C. C 社区似乎更适合此类问题 ;) => 接受 protobuf.net 解决方案。

快速的 .NET 序列化程序,用于大型尝试

公认的 .net 的"最快的序列化程序"在很大程度上 ProtoBuf.net 最快和最小的序列化程序。 http://damienbod.wordpress.com/2014/01/09/comparing-protobuf-json-bson-xml-with-net-for-file-streams/