繁体   English   中英

在nodejs中序列化和压缩hashmap(对象)的最快方法?

[英]Fastest way to serialize and compress a hashmap (object) in nodejs?

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

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

输入:一个 object 具有任意键,因此不能使用一些 非常快速的序列化方法,如AVSC 假设 object 有 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 package 出于某种原因添加了它的支持,但没有提供基准或将其突出显示为推荐选项。

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

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

我推荐lz4进行快速压缩。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM