Prof(1) is a profiling tool.

The man page was a little ambiguous to me, so here’s some examples of how to use it.

First, in your mkfile, add LDFLAGS=-p after the inclusion of mkone, as per /sys/doc/ Compile. Run, and your program will spit out a file.

If your program complains about a prof error, increase the profsize variable as per the man page, or else the prof file will be incorrect.

Then, run prof 6.out, substituting whatever your program or prof file are named. This should spit out call frequencies.

prof -dr 6.out will spit out a HUGE call tree. Get only the important parts (the ones that take >1ms) with regex char classes: prof -dr 6.out | grep '[a-z]:[1-9]'

Happy profiling :)