Re: Straw Poll: Restore Header Table and Static Table Indices

Roberto,

So far, we've had a large number of people -1 any change here. Summarising:

* It's been asserted that the current approach is "much simpler" to implement
* The difference is "marginal" 
* There's concern about "churn" in the spec and implementations
* There's concern that the proposals are untested 

You say it's "highly suboptimal", but you don't back this up. Indeed, we've long established that the WG is not terribly interested in getting the *most* efficient compression available -- especially if it's bought with complexity. As Mike said once long ago, the important part is that we get *some* compression, and my perception is that there's wide agreement in the WG on that point.

In the face of that, a one-byte overhead for dynamic headers is hard to characterise as "highly suboptimal."

Other folks have discussed / proposed more elaborate changes than Jeff, but I detect very little stomach in the WG for doing so.

At most, I think we're at a point where the most reasonable thing to do, *if* we do anything here, would be to revisit the static table and "make room" for more dynamic entries by pruning it some, as per <https://github.com/http2/http2-spec/issues/587>.

However, as discussed before, we'd need to see broad support for such a change; so far, we've held that #587 will only happen if we're making other breaking changes.

Regards,



On 13 Oct 2014, at 3:28 am, Roberto Peon <grmocg@gmail.com> wrote:

> The current mechanism is highly suboptimal when not using the headers in the static table.
> 
> There has been no technical argument refuting this-- all arguments have shown that the previous arrangement was approximately on par for static-table heavy workloads in terms of compression efficiency.
> 
> We have no guarantee that users will always wish to use the arguments in the static table.
> We know that adding to the size of the static table decreases efficiency of the compressor for any item that would not be in the static table.
> 
> No-one has shown that the new scheme is significantly better in terms of CPU or memory.
> 
> There was no interop issue w.r.t. the previous text.
> 
> In fact, the previous text allowed for the static table to be changed easily in future versions, with guaranteed detection of mismatch when new elements have been appended to the static table by one implementation but not the other. This is not true of the current version, which would require a negotiation in order to figure any such things out, and would otherwise result in corruption.
> 
> 
> As currently specc'd we're half-assing the compression, and we already know a better solution and have specc'd, implemented and demonstrated interop with it.
> -=R
> 
> On Sat, Oct 11, 2014 at 11:59 PM, Mark Nottingham <mnot@mnot.net> wrote:
> There doesn't seem to be support for making a change here; most people were against any change, and while there were a few other proposals made, they didn't get broad support. Since this isn't a security or interop issue, I'm inclined to close as WONTFIX.
> 
> Does anybody have new information here, or can we move on?
> 
> Cheers,
> 
> 
> On 7 Oct 2014, at 6:23 am, Mark Nottingham <mnot@mnot.net> wrote:
> 
> > Thanks, Jeff.
> >
> > I see people have already started to respond to this.
> >
> > Everyone else, please do the same — if you think this needs more discussion, please do so, but I think we’re at a point where people can just state their preferences.
> >
> > Regards,
> >
> >
> > On 7 Oct 2014, at 2:02 am, Jeff Pinner <jpinner@twitter.com> wrote:
> >
> >> As request by Mark, I propose that the current HPACK draft be changed
> >> such that Sec. 2.3.3 Index Address Space reads,
> >>
> >> "Indices between 1 and the length of the dynamic table (inclusive)
> >> refer to elements in the dynamic table.
> >>
> >> Indices strictly greater than the length of the dynamic table refer to
> >> elements in the static table. The length of the dynamic table is
> >> subtracted from the index into the static table."
> >>
> >> with the associated diagram updated. This reverts the change made
> >> between draft -08 and -09 in the change log, "Exchanged header and
> >> static table positions."
> >>
> >
> > --
> > Mark Nottingham   http://www.mnot.net/
> >
> >
> >
> >
> 
> --
> Mark Nottingham   https://www.mnot.net/
> 
> 
> 

--
Mark Nottingham   https://www.mnot.net/

Received on Monday, 13 October 2014 00:53:12 UTC