LAT_PROC(8) LMBENCH LAT_PROC(8)

lat_proc - process creation tests

lat_proc [ -P <parallelism> ] [ -W <warmups> ] [ -N <repetitions> ] procedure|fork|exec|shell

lat_proc creates processes in three different forms, each more expensive than the last. The purposes is to measure the time that it takes to create a basic thread of control.

The forms are listed and described below:

The time it takes to split a process into two (nearly) identical copies and have one exit. This is how new processes are created but is not very useful since both processes are doing the same thing.
The time it takes to create a new process and have that new process run a new program. This is the inner loop of all shells (command interpreters).
The time it takes to create a new process and have that new process run a new program by asking the system shell to find that program and run it. This is how the C library interface called system is implemented. It is the most general and the most expensive.

Output is in microseconds per operation like so:

Process fork+exit: 6054 microseconds
Process fork+execve: 11212 microseconds
Process fork+/bin/sh -c: 44346 microseconds

Funding for the development of this tool was provided by Sun Microsystems Computer Corporation.

lmbench(8).

Carl Staelin and Larry McVoy

Comments, suggestions, and bug reports are always welcome.

$Date$ (c)1994 Larry McVoy