public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Ruud van der Pas <ruud.vanderpas@oracle.com>
To: Florian Weimer <fw@deneb.enyo.de>
Cc: Vladimir Mezentsev via Binutils <binutils@sourceware.org>
Subject: Re: [PATCH] gprofng: a new GNU profiler
Date: Fri, 8 Oct 2021 19:59:07 +0200	[thread overview]
Message-ID: <C1E64637-4BA4-4798-ACA3-60015B1805D4@oracle.com> (raw)
In-Reply-To: <874k9rwkn4.fsf@mid.deneb.enyo.de>

Hi Florian,

Thanks for the feedback.

> I find it odd to replace an instrumentation-based profiler with a
> sampling-based profiler.

We’re not replacing gprof, or any other profiling tool for that matter.
They all have their merits and generally more than one tool is needed
for performance analysis.

There are definitely differences, both pros and cons, between instrumentation
and sampling. We think that the pros of sampling by far outweigh the cons,
but of course the user decides.

One thing we do not do is produce function call counts. While I found that
gprof sometimes drops the ball on that, in certain cases this is useful to know.

Having said that, I found that DTrace does a really good job at this. It
is also much more efficient and has full support for multithreading.

I wrote a blog on this:

https://blogs.oracle.com/linux/post/dtrace-for-the-application-developer-counting-function-calls

> This looks very useful.  

Thsnks.

> Can it be generalized to support coredumps?
> So that it is possible to get identical debugging experience on a
> system where the necessary prerequisites are not installed?

I’m not sure how that would work. While gprofng can produce a profile
for a code that crashes, we do not have the infrastructure to handle
core files.

It might be better to perhaps leverage what we have, but integrate
this with either gdb (?), or maybe develop a separate tool.

Kind regards, Ruud


  reply	other threads:[~2021-10-08 17:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <f01abee8-b329-0e39-2cef-0a0cec0adda4@oracle.com>
2021-08-11 21:10 ` Vladimir Mezentsev
2021-08-11 21:48   ` Joseph Myers
2021-08-11 22:27     ` Vladimir Mezentsev
2021-08-12 12:49       ` Joseph Myers
2021-08-12 14:50         ` Joseph Myers
2021-08-12 23:35         ` Vladimir Mezentsev
2021-08-13 16:25           ` Joseph Myers
2021-08-16 20:06             ` Vladimir Mezentsev
2021-08-16 20:35               ` Joseph Myers
2021-08-12 11:48   ` Jose E. Marchesi
2021-08-13 20:22   ` Jim Wilson
2021-08-14  5:09     ` Ruud van der Pas
2021-08-16 12:02       ` Ruud van der Pas
2021-10-08 16:23   ` Florian Weimer
2021-10-08 17:59     ` Ruud van der Pas [this message]
2021-10-11 20:00     ` Vladimir Mezentsev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C1E64637-4BA4-4798-ACA3-60015B1805D4@oracle.com \
    --to=ruud.vanderpas@oracle.com \
    --cc=binutils@sourceware.org \
    --cc=fw@deneb.enyo.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).