将大数据结构写入文件的最有效方法
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
的开销是否重要。
假设您有一个代数数据类型,并且您使用的是庞大的数据结构,那么编写如下这样的写入函数会更有效吗:
val writer: out_channel -> mygadttype -> unit
递归访问代数数据类型并写入每个节点,或类似于:
val print: Format.formatter -> mygadttype -> unit
然后使用Format.asprintf
写入一个字符串,然后将该字符串写入文件。
我没有估计数据结构会有多大,但性能方面(和内存方面?),哪个更有效?目标是结果是人类可读的,所以没有编组
您可以使用 Format.formatter_of_out_channel
直接打印到 Format
的文件。在没有更多信息或基准测试的情况下,尚不清楚 Format
的开销是否重要。