> Bruce Momjian wrote: > > > > > Save for the fact that the kernel can switch between threads faster then > > > it can switch processes considering threads share the same address space, > > > stack, code, etc. If need be sharing the data between threads is much > > > easier then sharing between processes. > > > > Just a clarification but because we fork each backend, don't they share > > the same code space? Data/stack is still separate. > > In Linux and many modern UNIX programs, you share everything at fork time. The > data and stack pages are marked "copy on write" which means that if you touch > it, the processor traps and drops into the memory manager code. A new page is > created and replaced into your address space where the page, to which you were > going to write, was.
Yes, very true. My point was that backends already share code space and non-modified data space. It is just modified data and stack that is non-shared, but then again, they would have to be non-shared in a threaded backend too. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster