- From: 山本和彦 <kazu@iij.ad.jp>
- Date: Wed, 06 Aug 2014 11:30:01 +0900 (JST)
- To: ietf-http-wg@w3.org
Hi,
I have implemented HPACK 09 and re-calculated compression ratio:
08 09
Naive 1.10 1.10
Naive-H 0.86 0.85
Static 0.84 0.83
Static-H 0.66 0.66
Linear 0.39 0.39
Linear-H 0.31 0.31
Diff 0.39 N/A
Diff-H 0.31 N/A
As you can see, they are almost the same as those of HPACK 08.
Just FYI.
--Kazu
> Hi,
>
> As you may remember, I implemented several HPACK *encoding* algorithms
> and calculated compression ratio. I tried it again based on HPACK
> 08. I have 8 algorithms.
>
> - Naive -- No compression
> - Naive-H -- Using Huffman only
> - Static -- Using static table only
> - Static-H -- Using static table and Huffman
> - Linear -- Using header table
> - Linear-H -- Using header table and Huffman
> - Diff -- Using header table and reference set
> - Diff-H -- Using header table, reference set and Huffman
>
> The implementations above pass all test cases in
> https://github.com/http2jp/hpack-test-case/. Using this test cases as
> input, I calculated compression ratio again. The ratio is calculated
> by dividing the number of bytes after compression by that before
> compression.
>
> Here is results:
>
> Naive 1.10
> Naive-H 0.86
> Static 0.84
> Static-H 0.66
> Linear 0.39
> Linear-H 0.31
> Diff 0.39
> Diff-H 0.31
>
> Linear-H and Diff-H results in almost the same. To my calculation,
> Diff-H is only 1.6 byte shorter than Linear-H in average. This means
> that reference set does NOT much contribute to compress headers
> although it is very difficult to implement.
>
> I have NOT seen any header examples for which reference set work
> effectively so far.
>
> So, if the authors of HPACK want to retain reference set, I would like
> to see evidence that there are some cases in which reference set
> contributes the compression ratio. HPACK 08 says "Updated Huffman
> table, using data set provided by Google". So, I guess that the
> authors can calculate the compression ratio based on this data.
>
> If there is not such an evidence, I would like to strongly recommend
> to remove reference set from HPACK. This makes HPACK much simpler, so
> implementations gets bug less and inter-operability is improved. Plus,
> the order of headers is reserved always.
>
> Regards,
>
> --Kazu
Received on Wednesday, 6 August 2014 02:30:46 UTC