Dave Carabetta wrote:

> No, as I've said before, because of the way fork() is implement in
> UNIX, it will make a copy of the parent process's memory footprint and
> use that value when it creates the child process (which is what
> cfexecute does). 1K or 100000000K, it makes no difference. This is
> just a UNIX "feature."

  This isn't strictly true. I would expect most modern Unix's are 'copy 
on write' when a process 'forks'. Linux certainly is.
  Pretty well the only different between a fork and a 'vfork' 
(threading) is that the thread doesn't 'copy on write'...

  So the fork does not use an entire copy of all the RAM occupied by the 
process. The application code space it self is marked read only and 
shared and the other memory is copied in pages as the new process writes.

  The JVM might be doing something oddball with its RAM cauing an entire 
new working set created each time it forks, and possibly this is the 
performance hit - every time jrun forks, it 'scrubs' it's entire working 
memory set.





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net
http://www.cfhosting.net

Message: http://www.houseoffusion.com/lists.cfm/link=i:14:3772
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/14
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:14
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.14
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to