Subject: Re: does anybody use additional/authority records on RD/RA replies

From: Bruce Campbell <[email-masked]>
Date: Mon, 20 Jan 2003 11:56:07 +0100 (CET)

On 18 Jan 2003, D. J. Bernstein wrote:

[ danny boy, you may wish to re-read this thread to understand why I keep
  putting in the original context.  I dislike having my words quoted out
  of context in order to uphold statements outside said context. ]

> Bruce Campbell writes:
: > On 16 Jan 2003, D. J. Bernstein wrote, removing the original context:
: > > You think that it's better use of memory to have separate caches---plus
: > > separate caching code---in every application?
: > In the original context that I provided, it _was_ a better usage of
: > _resources_, not necessarily memory, to re-use information previously
: > received due to the greater expense of asking for the same information,
: >_at that point in time_ (ie,
> > more expensive internet links, more expensive cpu, more expensive memory).
>
> I'm not saying that bandwidth, CPU time, and memory are free.

Neither am I.  You may wish to re-read this thread to understand the
difference between the inverse of 'more expensive', ie 'cheaper' and
'free'.

> I'm saying
> that the costs of the strategy you're advocating outweigh the benefits.

Given that I haven't been advocating any particular design strategy for
writing programs today, I suspect that you meant to write:

| I'm saying that the costs of using such an old strategy today outweigh
| the benefits.

You may wish to re-read this thread to understand the difference between
the two statements.

> A machine-wide cache is better than an ad-hoc cache in every program.

Not quite correct.  You probably mean:

	A machine-wide cache is better than an ad-hoc cache in most
	programs written today.

There are programs written today which implement their own (DNS) caching
simply because their design goal is pure speed, and the local machine-wide
(DNS) cache, irrespective of the author of such, is too slow for their
particular needs.

You may wish to re-read the thread to understand why I put forward my
thoughts on such a design strategy for times past in the first place.

--==--
Bruce.

--
to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>

---

From: "D. J. Bernstein" <[email-masked]>
Date: 20 Jan 2003 11:57:53 -0000

I'm not just saying that ad-hoc per-program DNS caches are bad design
today. I'm also saying that they were bad design twenty years ago.

The traffic argument is, and has always been, silly: a machine-wide
cache saves more traffic. The memory argument is, and has always been,
silly: a machine-wide cache uses less memory. The CPU-time argument is
not silly, but if you measure carefully then you'll see that it's wrong.

More importantly, all three arguments reflect a serious failure to put
costs in perspective. As Knuth wrote thirty years ago:

   There is no doubt that the ``grail'' of efficiency leads to abuse.
   Programmers waste enormous amounts of time thinking about, or
   worrying about, the speed of noncritical parts of their programs, and
   these attempts at efficiency actually have a strong negative impact
   when debugging and maintenance are considered. We _should_ forget
   about small efficiencies, say about 97% of the time; premature
   optimization is the root of all evil.

No rational estimate for the benefits of sendmail's ad-hoc DNS cache
could ever have justified the lines of code spent on that cache.

---D. J. Bernstein, Associate Professor, Department of Mathematics,
Statistics, and Computer Science, University of Illinois at Chicago