The program you are profiling should be compiled debuggable with stack frame and symbols enabled.
To see help, key in: prof -h
usage: -h [-o path] [-d] [-e] [-p libpath] [-012] [-u #] cmd args...
-o | profile output pathname, -=stdout, –=stderr | |
-d | debug otitleutput enabled | |
-e | child debug output enabled | |
-p | specify path for libprofile.so | |
-0 | usr+sys cpu timer intervals (sigprof) | |
-1 | usr only cpu timer intervals (sigvtalrm) | |
-2 | real time timer intervals (sigalrm) | |
-u | profile timer interval in usecs |
To execute the profiler, key in:
prof -o /tmp/prof_list.txt ./cin
where /tmp/prof_list.txt is the output file and in this case cin is the CINELERRA-GG binary file. The pid of this command will be displayed on the startup window. This comes in handy in the use case where there is a lot of initial load and possible configuration setup inside of CINELERRA-GG and you want to profile plugins and not necessarily all of the setup steps. Then you can use the following command in another window to continue running CINELERRA-GG and obtain the more useful information:
kill -USR1 pid
Running this command refreshes the memory maps used for profiling. When you are profiling a plugin, you want to run this AFTER the plugin loads.
The CINELERRA-GG Community, 2021