I'm in the process of attempting to benchmark a variety of lookup
methods (lsearch, MySQL, Oracle, PostgreSQL, LDAP, etc) and am
currently using a perl routine within Exim. This is working fine
using the one hook perl.c provides, Exim::expand_string(q[${lookup
mysql{...}{$value}fail}]), but my question is..
Is there a way to hook into exim's entire process of address
resolution, in a sense emulating exim -bt or invoking specific
directors? Can this be done/hacked/approximated with a ${lookup?
I'm only passingly familiar with exim's source code having only spent
any real time in src/lookups/.
FWIW, I'm getting 100 MySQL lookups in a little under 8s from a
database of 10,000 random entries (dual P3-600). Seems r-e-a-l-l-y
slow to me... (I have made no attempt to tune Debian's default install;
any suggestions?)
Exim::expand_string(q[
${lookup mysql{select remote_name from forwarder where
domain_name = 'realprogrammers.com' and
local_part = '].rand_word.q['}{$value}fail}]);
(Perl etc is not the limiting factor, an lsearch{/flatfile} on the
same data runs 10x faster)
Paul