- From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
- Date: Sat, 21 Sep 2013 21:12:28 +0900
- To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <CAPyZ6=JdNoERAq3CMPOzf3WhyBtmZ-Dohp1NOSAFZodnJvTxJA@mail.gmail.com>
I made a simple benchmark test for substitution indexing vs incremental indexing only and share its results here. The detailed results can be found at https://github.com/tatsuhiro-t/nghttp2/wiki/hpackSubst """ HPACK draft offers 2 kind of indexing methods: incremental and substitution. In nghttp2, we always use incremental indexing. This is because we do not have good strategy to use substitution indexing efficiently. We suspect that it is in the draft because it has some use cases, but we don't see them yet. So we did some tests comparing our incremental only strategy and the experimental strategy utilizing substitution indexing. Our incremental only strategy goes as follows: 1. If the name/value pair is in the header table, use indexed representation. 2. Else, if name is in the header table, use incremental indexing with indexed name. 3. Else, use incremental indexing with new name. The experimental strategy utilizing substitution indexing changes step 2 as follows: 2. Else, if name is in the header table, substitute that entry; use substitution indexing with indexed name. We use data set in https://github.com/http2/http_samples. The detailed results are listed in the following sections. The end result is that, in the overall, incremental only strategy is more efficient than the strategy with substitution. But the difference is not so large. On some data set, the substitution performed well, so depending on the data set, the winner may change. Also there may be better strategy for substitution. """ It turns out that the experimental strategy is used in node-http2 and firefox.
Received on Saturday, 21 September 2013 12:13:15 UTC