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,
/sys/doc/mkfiles.ps. Compile. Run, and your program will spit
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.
prof 6.out prof.pid, substituting whatever your program
or prof file are named. This should spit out call frequencies.
prof -dr 6.out prof.pid will spit out a HUGE call tree.
Get only the important parts (the ones that take >1ms) with regex
prof -dr 6.out prof.pid | grep '[a-z]:[1-9]'
Happy profiling :)