vfork() (was Re: RS6000 questions/comments)

John F Haugh II jfh at rpp386.cactus.org
Sun Jun 30 11:45:51 AEST 1991


In article <889 at rufus.UUCP> drake at drake.almaden.ibm.com writes:
>The RISC System/6000's fork() implementation is quite efficient, making
>"vfork" unnecessary for performance reasons.  Nonetheless, vfork() *is*
>provided on the RISC System/6000, in the BSD compatibility library,
>for the convenience of those porting BSD sources.

I don't know what you call "particularly efficient", but I have measured
fork/exit performance and AIX v3 is worse than SVR1 on a 12MHz 68000 that
I tested in 1986.  As I recall a S/6000 Model 530 produced about 8 or 10
fork/exits per second, compared to about 45 per second on an Mpulse/XL
that I was testing for my employer in 1986 (Pinnacle Systems, Inc.,
Garland TX)

The test is real simple -

main ()
{
	int	i;

	for (i = 0;i < 10000;i++)
		if (fork () == 0)
			exit ();
		else
			while (wait (0) != -1)
				;
}

I tried it on the 386 here and got 68 per second.  What does your
S/6000 give you?
-- 
John F. Haugh II        | Distribution to  | UUCP: ...!cs.utexas.edu!rpp386!jfh
Ma Bell: (512) 255-8251 | GEnie PROHIBITED :-) |  Domain: jfh at rpp386.cactus.org
"UNIX signals are not interrupts.  Worse, SIGCHLD/SIGCLD is not even a UNIX
 signal, it's an abomination."  -- Doug Gwyn



More information about the Comp.unix.aix mailing list