BIND 10 #1753: use object pool for in-memory finder contexts

BIND 10 Development do-not-reply at isc.org
Sat Mar 3 16:55:48 UTC 2012


#1753: use object pool for in-memory finder contexts
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |                       Status:  new
            Priority:  critical      |                    Milestone:  Next-
           Component:  data source   |  Sprint-Proposed
           Sensitive:  0             |                     Keywords:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  0             |  Feature Depending on Ticket:  auth
         Total Hours:  0             |  performance
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
 By default ZoneFinder::Context needs to be allocated from heap
 (by `new`) for every call to find().  The cost would not be negligible
 for performance sensitive version like the one for the in-memory data
 source.

 I'd suggest introducing an object pool such as boost::object_pool
 so the major resource of Context can be resused over multiple calls to
 find().  I'd maintain the pool in the `InMemoryClient` that created
 the finder and use the same pool for all zones.

 The in-memory version of Context class will need to be "resettable" so
 we release resources in the context when it goes back to the pool.
 It will also require some modifications to the base Context call.

-- 
Ticket URL: <http://bind10.isc.org/ticket/1753>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list