Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [BASIC QUESTION] Profiling tool for ffmpeg
@ 2025-02-24 14:43 Cesar Matheus
  2025-02-24 14:44 ` Kieran Kunhya via ffmpeg-devel
  2025-02-24 14:53 ` Devin Heitmueller
  0 siblings, 2 replies; 4+ messages in thread
From: Cesar Matheus @ 2025-02-24 14:43 UTC (permalink / raw)
  To: ffmpeg-devel

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 ?

Thank you very much,
César Mathéus
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [FFmpeg-devel] [BASIC QUESTION] Profiling tool for ffmpeg
  2025-02-24 14:43 [FFmpeg-devel] [BASIC QUESTION] Profiling tool for ffmpeg Cesar Matheus
@ 2025-02-24 14:44 ` Kieran Kunhya via ffmpeg-devel
  2025-02-24 14:53 ` Devin Heitmueller
  1 sibling, 0 replies; 4+ messages in thread
From: Kieran Kunhya via ffmpeg-devel @ 2025-02-24 14:44 UTC (permalink / raw)
  To: FFmpeg development discussions and patches; +Cc: Kieran Kunhya

On Mon, 24 Feb 2025, 06:43 Cesar Matheus, <cesar.matheus@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 ?
>
> Thank you very much,
> César Mathéus
>

Hi Cesar,

You should profile with the "ffmpeg_g" command which contains debug symbols.

Kieran

>
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [FFmpeg-devel] [BASIC QUESTION] Profiling tool for ffmpeg
  2025-02-24 14:43 [FFmpeg-devel] [BASIC QUESTION] Profiling tool for ffmpeg Cesar Matheus
  2025-02-24 14:44 ` Kieran Kunhya via ffmpeg-devel
@ 2025-02-24 14:53 ` Devin Heitmueller
  2025-02-24 17:03   ` Stone Chen
  1 sibling, 1 reply; 4+ messages in thread
From: Devin Heitmueller @ 2025-02-24 14:53 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Mon, Feb 24, 2025 at 9:43 AM Cesar Matheus
<cesar.matheus@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@ltnglobal.com
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [FFmpeg-devel] [BASIC QUESTION] Profiling tool for ffmpeg
  2025-02-24 14:53 ` Devin Heitmueller
@ 2025-02-24 17:03   ` Stone Chen
  0 siblings, 0 replies; 4+ messages in thread
From: Stone Chen @ 2025-02-24 17:03 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Mon, Feb 24, 2025 at 9:54 AM Devin Heitmueller <
devin.heitmueller@ltnglobal.com> wrote:

> On Mon, Feb 24, 2025 at 9:43 AM Cesar Matheus
> <cesar.matheus@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


AMD equivalent, though not nearly as nice as VTune imo.

https://www.amd.com/en/developer/uprof.html

<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@ltnglobal.com
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-02-24 17:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-24 14:43 [FFmpeg-devel] [BASIC QUESTION] Profiling tool for ffmpeg Cesar Matheus
2025-02-24 14:44 ` Kieran Kunhya via ffmpeg-devel
2025-02-24 14:53 ` Devin Heitmueller
2025-02-24 17:03   ` Stone Chen

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git