[英]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.