[bind10-dev] proposal: a performance extendable auth query logic framework

JINMEI Tatuya / 神明達哉 jinmei at isc.org
Wed Feb 29 16:12:37 UTC 2012


At Wed, 29 Feb 2012 08:05:12 -0800,
JINMEI Tatuya <jinmei at isc.org> wrote:

> > > FindContext provides a set of methods that handle several post-find
> > > operations such as getting the additional RRset corresponding to the
> > > original find() result (A/AAAA for NS, etc), providing DNSSEC proofs,
> > > synthesizing CNAME with DNAME:
> > 
> > The idea itself looks good to me. However, I'm not sure how big overhead it will
> > be to have another abstract class, allocated on the heap, in the main path.
> 
> Yeah I was aware of it.  My undocumented assumption is that we'd
> eventually use some technique to minizmie this overhead.  For example,
> I believe we can use a mixture of boost::object_pool and shared_ptr.
> The underlying ZoneFinder object maintains the pool, and reuse the
> pooled object whenever possible.  We set the shared_ptr's destructor
> so that when the final reference to the context is released it will go
> back to the pool, rather than be deleted.

I forgot to mention one related point: this concern will also apply to
the RRsets returned from the in-memory data source once we revise the
internal representation to be more memory-efficient ones, because the
result won't be a shape of RRset objects.  So its find() will need to
have some technique to reduce the overhead of preparing the
corresponding RRset objects.  This will be the case with or without
the idea of FindContext.

---
JINMEI, Tatuya
Internet Systems Consortium, Inc.


More information about the bind10-dev mailing list