[FFmpeg-devel] [BASIC QUESTION] Profiling tool for ffmpeg
Devin Heitmueller
devin.heitmueller at ltnglobal.com
Mon Feb 24 16:53:41 EET 2025
On Mon, Feb 24, 2025 at 9:43 AM Cesar Matheus
<cesar.matheus at telecom-paris.fr> wrote:
>
> Hi, I'm a CS student working on an optimisation of the ebur128 filter. First I'm looking for the nicest way to get information on code performance.
> I saw that the configuration flag "--enable-linux-perf" enables Linux Performance Monitor API, I've been using the perf tool with the following commands for example :
>
> ./perf record -F 99 -a -g --call-graph dwarf ./ffmpeg -i test.wav -vn -af loudnorm=print_format=summary:dual_mono=true -f null /dev/null
>
> but I'm not quite satisfate with the result.
>
> Do you have any advice on how to properly extract informations such as execution time, function call graph etc.. in such a case using profiling tool (perf or gprof for example ?
I've had excellent success with Intel VTune, which while not open
source is freely available:
https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html#gs.k0kfve
Function call timing, memory bandwidth utilization (if on an Intel
CPU), cache analysis, and very easy to get up and running. The hard
part is understanding the results, but the GUI makes that *much*
easier than any command line perf based solution.
But yeah, as Kieran pointed out, for any of these solutions you should
be using the version of the ffmpeg binary that contains debug info.
Devin
--
Devin Heitmueller, Senior Software Engineer
LTN Global Communications
o: +1 (301) 363-1001
w: https://ltnglobal.com e: devin.heitmueller at ltnglobal.com
More information about the ffmpeg-devel
mailing list