SYNOPSIS
lat_proc [ -P <parallelism> ] [ -W <warmups> ] [ -N <repetitions> ] procedure|fork|exec|shellDESCRIPTION
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 system is implemented. It is the most general and the most expensive.
OUTPUT
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
ACKNOWLEDGEMENT
Funding for the development of this tool was provided by Sun Microsystems Computer Corporation.AUTHOR
Carl Staelin and Larry McVoyComments, suggestions, and bug reports are always welcome.