<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
Michal,<br>
<br>
We are not talking about a log(n) tree here. We are talking about a
query with 6 labels being unusual. You build the hashes of children
at each node. With fanouts of at least 50-100 and exceeding
1,000,000, the hashes are still quite effective.<br>
<br>
As for caching extra data at nodes, its a tradeoff of making things
faster on one hand and increasing the memory footprint and
increasing the code complexity on the other.<br>
<br>
I once again recommend you make the basic code work first. It is in
my experience half an order of magnitude harder on the recursive
side than the authoritative side.<br>
<br>
Second, if you look at the people who have made recursive servers go
fast (Nominum) they didn't do that by looking for percentage gains
by caching more information at nodes. They did the really hard job
of making it so it can be efficient on multiprocessor/multicore
machines. Adding all sorts of extra caching up front makes getting
the multiaccess and multiupdater cache working that much harder.<br>
<br>
jerry<br>
<br>
On 12/9/2010 1:56 AM, Michal 'vorner' Vaner wrote:
<blockquote cite="mid:20101209095603.GB19311@hydra" type="cite">
<pre wrap="">Hello
On Wed, Dec 08, 2010 at 11:31:06AM -0800, Jerry Scharf wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Getting the answer rrset or an error from cache is simple. You just walk
down the logical namespace hierarchy until you find the cache entry.
</pre>
</blockquote>
<pre wrap="">
I don't like walking down. It kind of enforces using a tree, which is slow.
Being able to use a hash table would be nice.
Can't it be done by looking up the exact entry, then if it is not there, walking up
(eating the labels one by one) and looking up the NS rrsets if there's one? And
having a pointer to authority inside each of the rrset? Or, having some other
data structure for looking up the nearest known zone cut (because the cache will
do two kinds of queries ‒ for exact name/rrtype and for nearest known zone cut
in case we don't have no answer for the first type of query)?
Have a nice day
</pre>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
bind10-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:bind10-dev@lists.isc.org">bind10-dev@lists.isc.org</a>
<a class="moz-txt-link-freetext" href="https://lists.isc.org/mailman/listinfo/bind10-dev">https://lists.isc.org/mailman/listinfo/bind10-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>