Leif Jackson wrote:
Could you please explain how Oracle's connection overhead directly
translates to we need threads? A new thread still has to open up a new
connection to the DB. It sounds to me that Oracle's connection overhead
(or Postgresql or whatever) is more an argument for persistent
connections and pre forking more than threads. But if I'm missing
something please let me/us know.
I know a good bit about oracle (and maybe re-writing a new driver for it)
but that wasn't my driving force behind the code work... as for my
implementation it uses thread pool's and so it only opens a connection the
first time a thread is used then it keeps that connection open in memory
for the next client and then closes all of them (up to MAXCHILDREN) at the
end of the life of the daemon.
Ok, so you are using thread pools to implement persistent connections.
I would still like to hear more details about the "60% speedup" of the
threaded pop3 daemon vs the non-threaded. Exactly what was 60% faster?
I still think that the Multi-Process Model can be just as effective as a
threaded model with the benefit of simplified code.
BTW, I'm not trying to be negative about your work, I'm just trying to
discuss the options and get down to the real details. I don't want us
making radicle changes without good well thought out, discussed and
agreed upon reasoning.
Thanks for the hard work!
Matthew