Subject: Re: vfork vs. fork (was Re: popen reentrant (was Re: SA/pthread and
To: Greywolf <greywolf@starwolf.com>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-kern
Date: 09/14/2003 17:13:19
On Sun, 14 Sep 2003, Greywolf wrote:
> Thus spake Matthias Buelow ("MB> ") sometime Today...
>
> MB> Just for the records, I just did some timings fork vs. vfork. I
> MB> [v]fork/execl'd /usr/bin/true (basically /bin/sh with a script) for a
> MB> certain number of iterations and found out that vfork() does indeed
> MB> have a certain effect (I never expected it NOT to be faster, mind
> MB> you): the tradeoff was about 50% on NetBSD 1.6.1/i386. On
> MB> Solaris/sparc (which also seems to implement a faster vfork), it was
> MB> less pronounced -- only about 20%. What do these results show? The
> MB> speedup isn't crucial for most applications (which do not have an
> MB> extremely high fork/exec rate); but in certain situations it might be
> MB> beneficial. Although if you have to wait over an hour for a typical
> MB> job to complete, shaving off a minute or two probably isn't that
> MB> spectacular.
>
> 50 percent? That's half -- a big win in anyone's book. That means that
> my build of the toolchain is only taking 13 minutes instead of 26.
I hate to cloud a clear-cut ideological issue with facts, but that
isn't what mkb said AT ALL. It's up to 50% if you do nothing but
execute "/bin/true". In a more practical situation, others have stated
that it shaves a few minutes of off a several hours build. That's a
little different.
Frederick