我的一些程序由两部分组成.首先,他们从文件中读取大量数据并对其进行转换,生成Arrays,Hashes,Objects等; 第二,他们用(总是不同的)用户定义的条件分析这些数据.第一部分保持不变(只要源数据没有更改),但有时每次运行程序时都需要相当长的时间才能工作,而且我通常需要使用相同的源数据多次运行它.拥有两个程序会好得多 - 其中一个程序(一次)读取数据并对其进行转换,而另一个程序则分析它(多次).
我的问题是:存储Arrays,Hashes和Objects 的最佳方法是什么,以便第一个程序将它们写入文件,第二个程序从该文件中读取它们?
您可以将数据结构写入Perl 6源文件并"使用"它,然后它将为您预编译,这可能是将数据结构转换为Perl 6程序的最快方法.
除此之外,JSON还有一些显着的局限性,即本机Perl 6数据结构没有,比如整数和浮点数之间的差异,以及对Inf,-Inf和NaN的支持.在"复杂"的对象中也不支持键,即没有数组作为哈希键.
支持Perl 6可以抛出的大部分内容的一个示例序列化格式是MessagePack.已经有模块了,到目前为止我只使用了Data :: MessagePack,但这里是列表:https://modules.perl6.org/search/?q = smeagepack