> >>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]
