Understanding the profiler

The profiler is a tool built into the runtime system that allows you to know where your program spends processing time, and which function calls which function.

The profiler can help you to identify parts of your program that are executing slower than expected.

Important: The profiler measures CPU times. If the program is waiting (for a user-interaction, or when the program sleeps), then this has no impact on the results. In case of interactive programs, the time spent waiting for user action is ignored.
In order to enable the profiler during the execution of a program, you must start fglrun with the -p option, for example:
fglrun -p myprog

When the program ends, the profiler dumps profiling information to the standard error stream.

Note: The times reported by the profiler can change from one execution to the other, depending on the available system resources. Consider executing your program several times, to get an average time.