>
>>Jonathan Adams <[EMAIL PROTECTED]> wrote:
>>
>>> you might avoid *some* of the expense (since, as of Solaris 10, system()
>>> uses vfork(), even on multi-threaded processes.  So the "duplicating
>>> the address space just to tear it down at exec() time" cost is gone.
>>
>>Isn't vfork() nowerdays only slightly more expensive on Solaris than fork()?
>
>No; fork() still needs to mark all pages COW; this is on operation which
>is O(size of addresspace).
>
>vfork() is O(1).
>
>>The main difference between fork and vfork is that fork uses copy on write
>>for the data segment.
>
>Measure it and be enlightened; specially which larger address spaces.
>

And there's the little thing about needing to allocate swap which
vfork() avoids.  Some multi GB  programs do have issues with that.

Casper
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to