by parsing of messages. Delay malloc, as above, or try to reverse release
special id numbers, and if you release the next_id number for the thread
it reuses that id number.
-o calculate rdata size during parse step, instead of delay until copy.
+o use rbtree to compress domain names in messages, sorted AXFRs of 16Kb
+ and so on. This may be faster for that case.
while(p) {
c = dname_lab_cmp(dname, labs, p->dname, p->labs, &m);
log_assert(c != 0); /* may not already be in tree */
- if(c==0) return p;
+ if(c==0) return p; /* insert only once */
if(c<0) {
prev = &p->left;
p = p->left;