>> > Profile those fork() calls though, its one of the slowest system
>> > calls! If your platform supports vfork() use that, but plain old
>> > fork() is a major performance hit.
>> >
>> Fork is EVIL. Our head coder has threatened to kill anyone who uses
>> it :P.
>
>Very understandable !
>
>man page:
>The new process (child process) is an EXACT COPY of the calling
>process ... (including a copy of all memory)
>
>If your MUD uses 10MB RAM or Virtual Memory you will end up running
>2 MUD's on your machine after a fork and use up to 20MB.
>This is a major problem of WWW servers although those beasts
>are just 400KB big!
Different systems will have different forking penalties. From the Linux
fork(2) man page:
Under Linux, fork is implemented using copy-on-write
pages, so the only penalty incurred by fork is the time
and memory required to duplicate the parent's page tables,
and to create a unique task structure for the child.
Its not all that bad for this, assuming you are execing right after the fork.
Eric
----------------------------+-----------------------------------------------
Eric Green | "To Death Gate. 'Prepare ye the way.'"
egreen@cypronet.com | Lord Xar
http://www.cypronet.com/~dg |
This archive was generated by hypermail 2b30 : 12/07/00 PST