]> git.ipfire.org Git - thirdparty/bind9.git/commit
Improve qp-trie compaction in write transactions
authorTony Finch <fanf@isc.org>
Thu, 16 Feb 2023 21:42:04 +0000 (21:42 +0000)
committerTony Finch <fanf@isc.org>
Mon, 27 Feb 2023 13:47:57 +0000 (13:47 +0000)
commit0858514ae8a1f277eabc9c0d816ce409b35ec8e9
treed2ab05486aa298ce8b4ea07f4bfa37c323ac1c53
parenta8b29f0365ff0c8650ffe996173e9e1f967c83aa
Improve qp-trie compaction in write transactions

In general, it's better to do one thorough compaction when a batch of
work is complete, which is the way that `update` transactions work.
Conversely, `write` transactions are designed so that lots of little
transactions are not too inefficient, but they need explicit
compaction. This changes `dns_qp_compact()` so that it is easier to
compact any time that makes sense, if there isn't a better way to
schedule compaction. And `dns_qpmulti_commit()` only recycles garbage
when there is enough to make it worthwhile.
lib/dns/include/dns/qp.h
lib/dns/qp.c
lib/dns/qp_p.h