[m-users.] Grade for profiling

Volker Wysk post at volker-wysk.de
Tue Mar 21 20:31:36 AEDT 2023


Am Dienstag, dem 21.03.2023 um 19:19 +1100 schrieb Peter Wang:
> On Tue, 21 Mar 2023 18:43:36 +1100 Julien Fischer <jfischer at opturion.com> wrote:
> > 
> > Hi Peter,
> > 
> > On Tue, 21 Mar 2023, Peter Wang wrote:
> > 
> > > On Tue, 21 Mar 2023 08:08:19 +0100 Volker Wysk <post at volker-wysk.de> wrote:
> > > > For the record (if someone stumbles into the same problem). With the help of
> > > > Julien I was able to find the solution.
> > > > 
> > > > A (Linux) kernel feature called "Address space layout randomization" (ASLR)
> > > > must be turned off, before running the program which is to be profiled. This
> > > > can be accomplished with this command:
> > > > 
> > > > sudo bash -c "echo 0 > /proc/sys/kernel/randomize_va_space"
> > > > 
> > > > Then you get the right names for most predicates.
> > > 
> > > Did you merge profiling data from different runs?
> > > Otherwise, if the Prof.* files are generated in the same run
> > > then I don't see why ASLR should make a difference.
> > 
> > Because there's more going on that just that. Volker's program forks
> > off separate processes and I suspect the the Prof.* files end up being
> > inconsistent -- ASLR just complicates matters because the addresses
> > differ between each of them.
> 
> That makes sense. The Prof.Decl file would be written when the program
> starts up, and the Prof.Counts file is probably overwritten by each
> process when it shuts down. Obviously, you may not get usable profiling
> information then.

But I *have* got usable profiling information. At least it seems to me.
(It's the first time I'm using a profiler.) This way I've found a
performance bug, btw.

The processes I create with fork/exec, and the one forking, are all the same
program. It's a command line option, which tells each child process what to
do. Maybe that's the reason why I get usable profiling data.

Cheers
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/60783093/attachment.sig>


More information about the users mailing list