Skip to content

Draft: Parse large messages a little bit faster

Tony Finch requested to merge fanf-message-parse-faster into main

dns_message_gettempname() allocates a dns_fixedname_t, which includes a buffer and an offsets vector, so it is not necessary to separately allocate a scratch buffer or a fresh offsets vector.

When parsing a message, owner names are deduplicated to collect records into RRsets. This can require a lot of name comparisons. Add a place to keep a hash value inside a dns_fixedname_t, and use it to avoid comparisons.

Together these speed up a large zone transfer by about 2.5%

Merge request reports