2014-12-04 52 views
-4

我們在服務器端的服務中有一個大型的樹狀結構,它有幾千萬個節點。整個trie需要大約4個RAM的演出。到目前爲止,我們只使用基本的二進制.NET序列化來將trie存儲在一個文件中並將其重建回內存中。但它太慢了......在我們的例子中,有什麼更好的序列化算法,某種類似於直接mmap的技巧會很棒,但.NET不允許定製內存分配器。目標是最小化保存,特別是從文件中加載特里(文件大小不是我們關心的)。快速的.NET序列化程序,用於大型樹狀結構

注意:由於延遲,我們絕對不能使用關係數據庫。

更新:好的,我們發現了類似的問題Persisting a trie to a file - C。 C社區似乎更適合這類問題;)=>接受protobuf.net解決方案。

+0

數據庫太慢了。對不起,夥計們,特里:http://en.wikipedia.org/wiki/Trie – eeq 2014-12-04 23:11:40

+0

@DJKRAZE在做出不好的編輯之前,請學習算法。 – eeq 2014-12-04 23:12:13

+0

@john:某些數據結構(如高程地圖)在數據庫結構中不合適。 – 2014-12-04 23:14:10

回答