Node中的SDCH压缩?

21

这只是纸面上的吗,还是已经有实现了? - Farid Nouri Neshat
2
@alFReDNSH:Chrome实现了SDCH解压缩。真正需要的是一个实现VCDIFF算法的Node模块,这就是SDCH用于压缩数据的算法。Chrome的实现已经开源为open-vcdiff - josh3736
1
一个脏乱并不完美的实现方式是生成二进制命令,将数据传输到它,然后将结果传输到HTTP。这会因为创建进程和读取词典文件而产生开销。我认为更好的做法是编写节点绑定,并将其作为单独的(因为我认为它是CPU密集型的,会阻塞事件循环,尽管没有测量)节点进程创建,通过IPC或STDIN和STDOUT传输数据。 - Farid Nouri Neshat
1
考虑到我想在高负载服务器上使用这个,性能至关重要。我不认为生成单独的进程会产生可接受的结果。这就是为什么我正在寻找一个与Node的zlib模块完全相同的VCDIFF模块。该模块在单独的线程上执行计算密集型压缩;它不会阻塞事件循环,也不会产生IPC开销。 - josh3736
1个回答

1
看起来这还处于非常早期的阶段,似乎没有任何内部实现(apache、nginx等)。
这里有一个实现VCDIFF的JS库https://github.com/plotnikoff/vcdiff.js。但似乎没有任何东西能够与Chrome实现内容协商。

我看过那个库。当然,在JavaScript中进行压缩意味着你在事件循环线程上进行了大量的计算,这是非常糟糕的事情。 - josh3736

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接