3

在 NodeJS 12+ 中序列化和压缩 javascript hashmap(对象)的最快方法是什么?我试图找到将 javascript 对象转换为二进制数据的序列化和压缩方法的最快组合。

可能组合的数量是 100+,我的目标是预先研究,为最终基准选择几个最佳选项

输入:具有任意键的对象,因此不能使用一些非常快速的序列化方法,如AVSC 。假设对象有 30 个键值对,例如:

{
  "key-one": 2,
  "key:two-random-text": "English short text, not binary data.",
  ... 28 more keys
}

无需支持 Date、Regex 等的序列化。

仅序列化可以考虑无模式序列化格式,如 JSON 或 BSON。V8.serialize是一个有趣的选项,可能它很快,因为它是原生的。Compress-brotli软件包出于某种原因添加了它的支持,但没有提供基准或将其突出显示为推荐选项。

压缩应该只考虑最快的方法。不确定brotli是否是一个完美的选择,因为根据 wiki,它在压缩 JS、CSS 和 HTML 方面非常强大,因为在输入中需要“关键字”。首选原生 nodejs 支持。

我为类似的用例找到了有用的研究(我计划通过 lambda 压缩并存储在 S3 中),但它们的数据源自 JSON,与我的情况相反。

4

1 回答 1

1

我推荐lz4进行快速压缩。

于 2020-12-08T02:17:31.780 回答