>>>>> "Alvin" == Alvin Starr <alvin@stripped> writes:
Alvin> In trying to find a thread problem in linuxthreads on alpha I noticed a
Alvin> possible optimazation point.
Alvin> Thread creation requires several system calls and the allocation of memory
Alvin> on the stack of the running process. Thread termination has about the same
Alvin> overhead. I was wondering if it would not make sense to keep created
Alvin> threads around for reuse instead of terminating them. This would avoid the
Alvin> overhead of creating the new ones. Even though the cost of a clone in
Alvin> linux is not nearly as high as a fork there will still be sugnificant
Alvin> overhead. I expect that the same holds true for any other OS that supports
Alvin> threads as kernel/user processes.
Alvin> One idea would be to do somthing like the Apache pre-forking where a
Alvin> minimum number of threads is keept around all the time and any idle
Alvin> threads over that limit will after some timeout be released. This would
Alvin> mean that in high traffic times the number of live threads would rise and
Alvin> then slowly decay when the threads are no longer used.
Alvin> Just my thoughts.
Alvin> Alvin Starr || voice: (416)585-9971
Alvin> Interlink Connectivity || fax: (416)585-9974
Alvin> alvin@stripped ||
Hi!
Sounds like a good idea. I have added this to the MySQL TODO.
Generally persistent connections are a much better choice, as a
MYSQL connect is also not that fast (because of the user
authentication), but there are applications when a faster connect could
pay off..
Regards,
Monty

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.