Skip to content

headers: stop interning all header names

Carlos Garcia Campos requested to merge carlosgc/headers-no-intern into master

To still optimize the headers handling we now follow an approach similar to the WebKit one. We use gperf to generate a fast conversion from commonly used name headers to an enum value. Headers are now stored in two arrays, one for common headers where the enum value is used as the name, and another one for uncommon headers where the name string is stored duplicated and g_ascii_strcasecmp() is used for comparisons. Both arrays are created on demand with preallocated space for 6 headers. This changes a bit the order in which headers are iterated, because we iterate the common headers first and then the uncommon ones.

Fixes #111 (closed)

Merge request reports