On Fri, 13 Oct 2000, John W Baxter wrote:
> Speaking of that, what is the current wisdom as to roughly where the
> boundary between "short" and "not short" falls for an alias file for Exim?
It will depend on your OS, your DBM library, and your file system's
block size, I imagine.
I've just done a trivial test. I created an alias file containing 286
entries. Each key was 4 characters long. I used "exim -be" to expand the
string "${lookup{something}...." 10 000 times. Actually, to circumvent
Exim's caching, I looked up two different keys, alternately. I used two
keys from the middle of the list, to simulate the average case for the
lsearch. This was on a Sparc Ultra 1 running Solaris 8. I repeated using
DBM (ndbm on Solaris) and cdb, and repeated for different numbers of
keys in the file. The results were as follows (real/user times, as given
by the "time" command):
#keys LSEARCH DBM CBD
286 6.0/5.4 2.5/2.4 1.0/0.9
186 4.5/3.9 2.1/2.0 0.9/0.9
86 3.1/2.6 1.8/1.7 0.9/0.9
40 2.5/2.0 1.5/1.5 0.9/0.9
20 2.0/1.5 1.5/1.4 0.9/0.9
I've previously waved my hands and said "between 20 and 50", and this
simple test is in that ballpark. It does show the benefit of cdb,
though, doesn't it?
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.