W3C home > Mailing lists > Public > ietf-http-wg@w3.org > July to September 2013

Re: HPACK benchmark test for substitution indexing vs incremental indexing only

From: Roberto Peon <grmocg@gmail.com>
Date: Sat, 21 Sep 2013 13:11:02 -0700
Message-ID: <CAP+FsNdbtcq1Z3L_vmtfsVs26uhduccoVs3W44Zcf7hXi3yEkA@mail.gmail.com>
To: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
When I was doing a similar comparative analysis, I found that incremental
indexing did better than substitution indexing as well.
I suspect that substitution indexing benefits strongly from heuristics,
e.g. compute the probability that a header is reused and use that to
determine if you replace or not.
That being said, I'm still unsure if the complexity of substitution
indexing is worth the potential benefit.


On Sat, Sep 21, 2013 at 5:12 AM, Tatsuhiro Tsujikawa

> 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 20:11:29 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:15 UTC