Re: fork/exec performance?
Re: fork/exec performance?
- Subject: Re: fork/exec performance?
- From: Andrew Gallatin <email@hidden>
- Date: Mon, 7 Oct 2002 15:36:48 -0400 (EDT)
Jim Magee writes:
>
>
On Thursday, October 3, 2002, at 05:39 PM, Andrew Gallatin wrote:
>
> % pwd
>
> /private/var/tmp
>
> % cp /home/gallatin/hacks/LMbench/bin/powerpc-apple-darwin1.4/lat_proc
>
> .
>
> % ./lat_proc fork
>
> Process fork+exit: 7577.0000 microseconds
>
> % /home/gallatin/hacks/LMbench/bin/powerpc-apple-darwin1.4/lat_proc
>
> fork
>
> Process fork+exit: 7529.0000 microseconds
>
>
Have you tried it from an account that has a local home directory? NFS
>
does such weird things to performance numbers that I like to keep it
>
completely out of the mix (unless I'm trying to benchmark NFS).
>
Interestingly, there were significant NFS changes in those timeframes.
Earlier I replied privately to Jim that an account with a local home
forked faster than an account with an NFS home...
Well, its all due to a difference in the local and NFS .cshrc. The
NFS .cshrc contains the line 'unlimit stacksize' I guess Darwin must
REALLY unlimit the stacksize to something obscene. From the appended
few datapoints, it looks like the fork perf is directly proportional
to the stacksize limit.
At any rate, removing that line (conditional on darwin-powerpc*), gets
fork performance back to what I remember it being a long time ago.
(probably before I needed to add that line for nameless OS which
artificially limits stacksize too low). The install script that
prompted the question by taking over 3 minutes is now down to 20
seconds (within an acceptable factor of 2 of linux).
I'm willing to plead to pilot error on this one. But it does seem
rather strange that upping a *limit* will wreak havok with fork
performance. Are process' stacks pre-allocated up to the limit or
something?
Drew
[g4:~] drew% limit
cputime unlimited
filesize unlimited
datasize unlimited
stacksize 512 kbytes
coredumpsize 0 kbytes
memoryuse unlimited
descriptors 256
memorylocked unlimited
maxproc 100
[g4:~] drew% ~gallatin/hacks/LMbench/bin/powerpc-apple-darwin6.0/lat_proc fork
Process fork+exit: 1648.2500 microseconds
[g4:~] drew% limit stacksize 16384k
[g4:~] drew% ~gallatin/hacks/LMbench/bin/powerpc-apple-darwin6.0/lat_proc fork
Process fork+exit: 4530.0000 microseconds
[g4:~] drew% exit
logout
Connection to g4.sw closed.
<3:15pm>whisper/gallatin:~>ssh g4.sw -l drew
Last login: Mon Oct 7 15:14:36 2002 from 172.31.193.10
Welcome to Darwin!
[g4:~] drew% unlimit stacksize
[g4:~] drew% ~gallatin/hacks/LMbench/bin/powerpc-apple-darwin6.0/lat_proc fork
[g4:~] drew% limit stacksize 8k
Process fork+exit: 7648.0000 microseconds
[g4:~] drew% ~gallatin/hacks/LMbench/bin/powerpc-apple-darwin6.0/lat_proc fork
Process fork+exit: 1574.7500 microseconds
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.