shithub: docs.9front.org

ref: b6a160edfb7683492504597fbd51e1e343e0cd2c
dir: /prof.md/

View raw version
# prof(1)

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/mkfiles.ps`. Compile. Run, and your program will spit
out a `prof.pid` 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 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
char classes: `prof -dr 6.out prof.pid | grep '[a-z]:[1-9]'`

Happy profiling :)