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