El 12/04/11 12:58, John M. Dlugosz escribi?:
On 4/11/2011 8:54 AM, Jorge Gonzalez jorge.gonzalez-at-daikon.es
each loads modules and loads data, they will be writing all that to
separate pages.
Rather, it needs to load all the stuff and _then_ fork, so that the
stuff is identical and shared.
On 4/11/2011 8:54 AM, Jorge Gonzalez jorge.gonzalez-at-daikon.es
Catalyst/Allow to home| wrote:
You can be assured that it's being done that way. Certainly all
modern operating systems do Copy-On-Write on memory pages, which
means that several processes with a common set of code will share
much of it. This is not being done by Apache/fastcgi/Catalyst, but
by the very operating system itself.
I don't think so. If two different Perl processes are started up, andYou can be assured that it's being done that way. Certainly all
modern operating systems do Copy-On-Write on memory pages, which
means that several processes with a common set of code will share
much of it. This is not being done by Apache/fastcgi/Catalyst, but
by the very operating system itself.
each loads modules and loads data, they will be writing all that to
separate pages.
Rather, it needs to load all the stuff and _then_ fork, so that the
stuff is identical and shared.
fork, but would probably start to get copied individually for each
process again as soon as the process starts doing something useful. For
perl, which works as some kind of JIT compiler, the script executable
code is just data and probably gets rewritten very often, so each
process would end with its own set of pages.
I'd bet for a KSM capable machine and OS. You can activate and
deactivate it, so benchmarking it with your app would be trivial.
Regards
J.