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