From: | Goran Thyni <goran(at)bildbasen(dot)se> |
---|---|
To: | tom(at)sdf(dot)com |
Cc: | hackers(at)postgreSQL(dot)org |
Subject: | Re: [HACKERS] fork/exec for backend |
Date: | 1998-01-24 22:16:53 |
Message-ID: | 19980124221653.8668.qmail@guevara.bildbasen.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 24 Jan 1998, Goran Thyni wrote:
> Fork on modern unices (linux and (a think) *BSD) cost
> almost nothing (in time and memory) thanks to COW (copy-on-write).
> Exec in expensive as it breaks COW.
Not so. Modern Unixs will share executable address space between
processes. So if you fork and exec 10 identical programs, they will share
most address space.
1. Code is probably not shared between postmaster and postgres
processes.
2. Some inits may be done once (by postmaster) and not repeated
by every child.
3. (and most important)
With no exec COW is in action, meaning:
data pages in shared until changed.
COW is the key to how Linux can fork faster than most unices
starts a new thread. :-)
Again, this only applies to "modern" systems, but FreeBSD definitely has
this behaviour.
I don't know if *BSD has COW, but if should think so.
best regards,
--
---------------------------------------------
Gran Thyni, sysadm, JMS Bildbasen, Kiruna
From | Date | Subject | |
---|---|---|---|
Next Message | Brett McCormick | 1998-01-24 22:46:58 | Re: [QUESTIONS] Re: [HACKERS] Show stopper ? (was: Re: "cruising" or "browsing" through tables using an index / ordering) |
Previous Message | Tom | 1998-01-24 21:35:33 | Re: [HACKERS] fork/exec for backend |