[m-users.] Grade for profiling

Volker Wysk post at volker-wysk.de
Tue Mar 21 16:27:00 AEDT 2023


Am Dienstag, dem 21.03.2023 um 10:16 +1100 schrieb Julien Fischer:
> Hi Volker,
> 
> On Mon, 20 Mar 2023, Volker Wysk wrote:
> 
> > Am Montag, dem 20.03.2023 um 13:17 +0100 schrieb Volker Wysk:
> > > Am Montag, dem 20.03.2023 um 21:29 +1100 schrieb Julien Fischer:
> > > > 
> > > > On Mon, 20 Mar 2023, Volker Wysk wrote:
> > > > 
> > > > > Hi, Julien
> > > > > 
> > > > > Am Montag, dem 20.03.2023 um 09:40 +1100 schrieb Julien Fischer:
> > > > > > Hi Volker,
> > > > > > 
> > > > > > On Sun, 19 Mar 2023, Volker Wysk wrote:
> > > > > > 
> > > > > > > I want to profile my program, but when using mprof, I get only lines like
> > > > > > > this:
> > > > > > > 
> > > > > > >  0.0       0.00     0.00 49576032     0.00     0.00
> > > > > > > unknown__140325205178080 [140]
> > > > > > > 
> > > > > > > All names begin with "unknown_...".
> > > > > > > 
> > > > > > > My guess is, that debug symbols must be compiled in. My profiling grade is
> > > > > > > "asm_fast.gc.prof", so no debug symbols.
> > > > > > 
> > > > > > The .prof component should be all that is required for (time) profiling
> > > > > > to work; there's no need for anything additional
> > > > > 
> > > > > So why are all the names "unknown__..."? It isn't usable this way...
> > > > 
> > > > If they are all "unknown__...", then something is wrong. The profiler
> > > > builds a table of addresses to procedure names; if it can't find an
> > > > entry for a given address in that table it outputs it as "unknown__...".
> > > > When you run a program with profiling enabled, that table should be
> > > > written to the file Prof.Decl. When you run your program, does the file
> > > > Prof.Decl contain any entries?
> > > 
> > > Yes, it does. It's a megabyte big.
> > 
> > This is how I build my program:
> > 
> > mmc -j8 -E --make \
> >    --grade asm_fast.gc.debug.stseg \
> >    --output-compile-error-lines=200 \
> >    --cflags "$(pkg-config --cflags glib-2.0)" \
> >    --cflags "$(pkg-config --cflags mhash)" \
> >    --ml colipa \
> >    -lodbc -lpthread -ldl \
> >    --cflag "-DMODBC_UNIX" --cflag "-DMODBC_MYSQL" \
> >    `pkg-config --libs glib-2.0` \
> >    `pkg-config --libs mhash` \
> >    "$PROG"
> 
> The above doesn't specify a profiling grade, so it's presumably not
> quite how you built it.  

You're right. When I build with profiling, the grade line is:

    --grade asm_fast.gc.prof --profiling \

> If you want to zip up and the profiling files
> (Prof.Decl, Prof.Counts and Prof.CallPair) and email them to me
> directly, I can take a further look.

On the way - thanks!


Volker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.mercurylang.org/archives/users/attachments/20230321/25ed3214/attachment.sig>


More information about the users mailing list