No subject
Mon Sep 28 12:00:37 PDT 2015
Web applications benefit from being built on top of a thin layer.
WebKit is using get() on header names found in HTTPHeaderNames.in.
To take that into account, we can optimize get() for some/all of those header names.
This can be achieved using dedicated member fields, or an additional hashmap<HTTPHeaderName, index> or even a vector given the number of common header names (< 100).
For those "indexed" header names, a header entry could also store the index to the next header with the same name.
<span class="quote">> > For instance, keeping-first-index mechanism might be triggered when header
> > set size is above a given threshold.
> This would make it hard to find bugs that only appear in large lists or near
> the threshold.</span >
I agree in general. At the same time, it does not sound too difficult to add suffficient test coverage for it.
<span class="quote">> > Or it can be done lazily when a header is actually get.
> This would make get slow.</span >
get would be slow the first time only, and only if number of headers N is very large.
If we look at a typical case when processing a message (request or response), there will be N append operations and M get operations.
But M is much smaller than N when N becomes large.
Having a fast append is appealing, having an amortized fast get sounds reasonnable to me.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>
--1452508412.3F1c4.26083--
More information about the webkit-unassigned
mailing list