SYNOPSISlat_syscall [ -P <parallelism> ] [ -W <warmups> ] [ -N <repetitions> ] null|read|write|stat|fstat|open [ file ]
- measures how long it takes to do getppid(). We chose getppid() because in all UNIX variants we are aware of, it requires a round-trip to/from kernel space and the actual work required inside the kernel is small and bounded.
- measures how long it takes to read one byte from /dev/zero. Note that some operating systems do not support /dev/zero.
- times how long it takes to write one byte to /dev/null. This is useful as a lower bound cost on anything that has to interact with the operating system.
- measures how long it takes to stat() a file whose inode is already cached.
- measures how long it takes to fstat() an open file whose inode is already cached.
- measures how long it takes to open() and then close() a file.
OUTPUTOutput format is
Null syscall: 67 microseconds
ACKNOWLEDGEMENTFunding for the development of this tool was provided by Sun Microsystems Computer Corporation.
AUTHORCarl Staelin and Larry McVoy
Comments, suggestions, and bug reports are always welcome.