Aaron Stone wrote:

""Leif Jackson"" <[EMAIL PROTECTED]> said:
As for the threading code it makes about a
60% speedup on the pop3 server alone and I can't state much yet for the
imap server but between the pthreads and the new list code I have finaly
eradicated the last few minor memory leaks I used to see from the
list_nodeadd stuff that bugged me! The diff so far is almost 400k so it is
a major re-think of some areas...etc..

Sounds like an incredible speedup, and it'll be exciting to actually be
able to say, "I've done high performance multithreaded database
programming" :-)
I agree that it's incredible, so much so that I am skeptical. Could we get some more details on what is faster under what conditions? Given the efficiency of fork()on unix platforms, I highly doubt that a threaded implementation will make much difference at all. We are very different than a light http server that doesn't have much work to do after it starts up.

Now that DBMail is going multithreaded, libSieve will also have to become
thread safe, which depends on flex being thread safe... there will
probably need to be quite a few mutexes surrounding the sieve calls in
2.1.
When was it decided that we are "going multithreaded". All I have read is that Leif is working on a patch that includes a pthreads implementation. I have yet to see any evidence that the results are worth the effort. Remember that the additional effort is not just the initial implementation but also includes the additional maintenance since threaded code is more complicated and bugs more subtle and harder to track down.

Matthew

Reply via email to