将大数据结构写入文件的最有效方法

Most efficient way to write big data structures to a file

假设您有一个代数数据类型,并且您使用的是庞大的数据结构,那么编写如下这样的写入函数会更有效吗:

val writer: out_channel -> mygadttype -> unit

递归访问代数数据类型并写入每个节点,或类似于:

val print: Format.formatter -> mygadttype -> unit

然后使用Format.asprintf写入一个字符串,然后将该字符串写入文件。

我没有估计数据结构会有多大,但性能方面(和内存方面?),哪个更有效?目标是结果是人类可读的,所以没有编组

您可以使用 Format.formatter_of_out_channel 直接打印到 Format 的文件。在没有更多信息或基准测试的情况下,尚不清楚 Format 的开销是否重要。