Lua 中快速序列化 / 反序列化表格(无递归)

我正在使用 Lua 5.2。我接收到大小为 800,000 的大型表格(1维数组)。我想要快速地转储这些表格。我在维基上找到了一篇标题为“将表格保存到文件”的文章并使用了它,但发现效果不太好。使用此方法保存的示例表格,即table.save(table, filename),在我的 DropBox中共享此处。(该文件太大,无法在此处放置。大约8MB)

由于我的主要关注点是速度,如果有二进制序列化,我准备接受它。

点赞
用户4403144
用户4403144

你是否受限于 Lua 5.2?Lua 5.3引入了按位运算符和内置的二进制打包/解包操作(请参见《Lua 程序设计(第四版)》第13章“位和字节”)。在第15章“数据文件和序列化”中,还有有关序列化表格的特定算法和建议。这些章节将是实现的最佳信息来源。

2018-06-30 17:21:06