【发布时间】:2012-03-14 12:20:54
【问题描述】:
是否有用于 Node 的 SDCH (基于 HTTP 的共享字典压缩) 库? (或任何其他实现?)
在 npm 上快速搜索一无所获。
【问题讨论】:
-
只是纸上谈兵,还是有实现?
-
@alFReDNSH:Chrome 实现 SDCH 解压。真正需要的是一个实现 VCDIFF 算法的 Node 模块,这是 SDCH 用来压缩数据的。 Chrome 的实现开源为open-vcdiff。
-
一个肮脏且不完美的实现是生成二进制命令,将数据传输到它,然后将结果传输到 HTTP。由于创建进程和读取字典文件,这会产生开销。我认为更好的方法是为它编写节点绑定,然后将其创建为单独的(因为我认为它是 CPU 密集型并阻止事件循环,尽管未测量)节点进程,并通过 IPC 或 STDIN 和 STDOUT 管道数据。
-
鉴于我想在高负载服务器上使用它,因此性能至关重要。我不认为产生一个单独的过程会产生可接受的结果。这就是为什么我正在寻找一个与 Node 的 zlib 模块完全一样的 VCDIFF 模块。该模块在单独的线程上进行计算量大的压缩;它不会阻塞事件循环,也不会产生 IPC 的开销。
标签: performance node.js http-compression