Table of Contents
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:
- Process fork+exit
- 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.
- Process fork+execve
- 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).
- Process fork+/bin/sh -c
- 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 CBsystem
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.
Table of Contents