I did an experiment that may be of interest.  I parallelized a
stand-alone command line rbl program (1) that can check "a bunch"
(I had it check 6) of rbl-ish lists in series.

I used pthreads.  For non-cached answers the parallel version 
took about 1.1 to 1.5x as long, for cached answers about 10x as 
long.

Some simple experiments lead me to the conclusion that the pthread
creation overhead is very large in comparison to the delay of
just waiting for the resolver to get the answer.

Compared to forking though, I'd imagine creating a thread is
a stroll in the park.  I'm going to see if I can hack it up
(without the pthreads, tho) to drop into where rblsmtp goes.  I'm
guessing it will be a zillion times faster.

(1) http://www.xnet.com/~emarshal/rblcheck/

-- 
Aaron Nabil

Reply via email to