【问题标题】:SDCH compression for Node?节点的 SDCH 压缩?
【发布时间】: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


【解决方案1】:

看起来这仍处于早期阶段,似乎没有任何内部实现(apache、nginx 等)

这是一个实现 VCDIFF https://github.com/plotnikoff/vcdiff.js 的 JS 库。但是似乎没有任何东西可以实现与 Chrome 的内容协商。

【讨论】:

  • 我看过那个库。当然,在 JavaScript 中进行压缩意味着您要在事件循环线程上进行繁重的计算,这是一件非常糟糕的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-17
  • 2018-07-05
  • 2017-09-29
  • 1970-01-01
  • 2017-09-11
  • 1970-01-01
  • 2011-08-11
相关资源
最近更新 更多