假设数据结构如下:
type data = A of a_struct | B
and a_struct = { s : string ; cross : data list ; down : data list }
其中交叉元素基本上是由包含向下元素的树复制的。由于内存使用(几GB),使用yojson序列化这样一棵树的大型实例(~250MB)会破坏我的系统。这可能是因为json不知道在树中共享多个副本。我对S-Expressions也有同样的看法。
有没有办法以更接近OCaml内部表示的格式进行序列化,还是我必须自己压缩数据?