unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: David Engster <deng@randomsample.de>
Cc: mattiase@acm.org, emacs-devel@gnu.org, gregory@heytings.org,
	monnier@iro.umontreal.ca, Eli Zaretskii <eliz@gnu.org>,
	larsi@gnus.org
Subject: Re: Time to merge scratch/correct-warning-pos into master, perhaps?
Date: Sun, 20 Feb 2022 19:45:13 +0000	[thread overview]
Message-ID: <YhKaSSpMKjleUbI8@ACM> (raw)
In-Reply-To: <87wnhq6qxu.fsf@randomsample>

Hello, David.

On Sun, Feb 20, 2022 at 06:35:25 +0100, David Engster wrote:
> > I seem to have a default setting of 4kHz.  This was enough to get several
> > thousand hits in each build ("old" and "new") running the test suite.  As
> > I wrote in my post just now to Eli, the results came up contrary to what
> > was expected - the "old" build, running the simple EQ spent more time in
> > it than the "new" build running the complicated EQ.  Possibly I've made
> > some silly mistake in the measurements.

> Hi Alan,

> Are you comparing builds directly before/after the merge of the
> correct-warnings branch?

Yes.

> The first thing to check would be if EQ is actually called the same
> amount of times in both builds. You can do this with 'perf' by using
> user-space probes ('uprobes'). Just as an example, with './emacs'
> being your emacs binary,

>   perf probe -x ./emacs redisplay

> would insert a uprobe at redisplay, and with

>   perf record -e probe_emacs:redisplay ./emacs

> you can save the events. Just to show how flexible this system is:

>   perf stat -e probe_emacs:redisplay -a -I 1000

> would continuously show you the number of times redisplay is called each
> second.

I tried that with EQ on the new build.  I aborted the run when perf.data
had reached 29 GB.  ;-).  I then tried again with just making
test/lisp/calc/calc-tests.log.  That gave a file around 1 GB, which gave
me the number of times EQ was called.

Then I temporarily lost interest.  I'll try the same on the old build
soon.

> Anyway, measuring things around ~1% with perf can be quite noisy. For
> doing exact timings, you can also insert 'uretprobes' which are called
> when a function returns, and then you can calculate how long each call
> took from the timestamps. In the above example,

>    perf probe -x ./emacs 'redisplay%return'

> will insert a return probe for 'redisplay', then use

>    perf record -e 'probe_emacs:*' ./emacs

> and use 'perf script' to display the timestamps.

Maybe I'll try that later.

> I don't think there's something built-in to display durations between
> uprobe/uretprobe, so a little bit of coding is needed to calculate
> that from the output. Of course, these timings will usually be
> increased by the probe instrumentations, but for relative comparisons,
> they should be fine.

Thanks!

> -David

-- 
Alan Mackenzie (Nuremberg, Germany).



  reply	other threads:[~2022-02-20 19:45 UTC|newest]

Thread overview: 150+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-15 18:15 Time to merge scratch/correct-warning-pos into master, perhaps? Alan Mackenzie
2022-01-15 18:24 ` Eli Zaretskii
2022-01-16  8:24   ` Lars Ingebrigtsen
2022-01-16  9:51     ` Po Lu
2022-01-16 13:50       ` Alan Mackenzie
2022-01-16 12:02     ` Lars Ingebrigtsen
2022-01-16 12:06       ` Po Lu
2022-01-16 13:12         ` Lars Ingebrigtsen
2022-01-16 14:02           ` Alan Mackenzie
2022-01-17  0:28           ` Po Lu
2022-01-17  3:28             ` Eli Zaretskii
2022-01-17  3:37               ` Po Lu
2022-01-16 14:00         ` Alan Mackenzie
2022-01-16 12:23       ` Eli Zaretskii
2022-01-16 12:26         ` Lars Ingebrigtsen
2022-01-16 12:36           ` Eli Zaretskii
2022-01-16 14:06         ` Alan Mackenzie
2022-01-16 14:11           ` Lars Ingebrigtsen
2022-01-16 14:21           ` Eli Zaretskii
2022-01-16 14:45             ` Alan Mackenzie
2022-01-16 15:04               ` Eli Zaretskii
2022-01-16 15:26                 ` Alan Mackenzie
2022-01-16 15:43                   ` Eli Zaretskii
2022-01-16 15:50                     ` Alan Mackenzie
2022-01-16 13:47     ` Alan Mackenzie
2022-01-16 14:10       ` Lars Ingebrigtsen
2022-01-16 14:59         ` Stefan Monnier
2022-01-16 14:57     ` Stefan Monnier
2022-01-16 15:04       ` Lars Ingebrigtsen
2022-01-16 15:37         ` Alan Mackenzie
2022-01-16 15:50         ` Mattias Engdegård
2022-01-16 16:18           ` Alan Mackenzie
2022-01-16 16:52             ` Mattias Engdegård
2022-01-16 17:13               ` Stefan Monnier
2022-01-16 17:24                 ` Mattias Engdegård
2022-01-22 12:23         ` Alan Mackenzie
2022-01-22 14:30           ` Lars Ingebrigtsen
2022-01-22 15:09             ` Alan Mackenzie
2022-01-22 15:26               ` Lars Ingebrigtsen
2022-01-22 15:36                 ` Eli Zaretskii
2022-01-22 18:30                   ` Alan Mackenzie
2022-01-23 12:45                     ` Lars Ingebrigtsen
2022-01-22 16:06             ` Mattias Engdegård
2022-01-22 17:02               ` Gregory Heytings
2022-01-22 17:46                 ` Eli Zaretskii
2022-01-22 18:01                   ` Gregory Heytings
2022-01-22 18:12                     ` Eli Zaretskii
2022-01-22 22:36                       ` Gregory Heytings
2022-01-22 22:55                         ` Alan Mackenzie
2022-01-23  6:16                         ` Eli Zaretskii
2022-01-23 21:53                           ` Gregory Heytings
2022-01-24  3:37                             ` Eli Zaretskii
2022-01-24 15:20                               ` Gregory Heytings
2022-01-24 16:47                                 ` Eli Zaretskii
2022-01-24 20:41                                   ` Gregory Heytings
2022-01-25  3:34                                     ` Eli Zaretskii
2022-01-25  8:59                                       ` Gregory Heytings
2022-01-25 11:27                                         ` Alan Mackenzie
2022-01-25 13:27                                           ` Stefan Monnier
2022-01-25 18:27                                             ` Alan Mackenzie
2022-01-25 19:26                                               ` Stefan Monnier
2022-01-25 20:58                                                 ` Alan Mackenzie
2022-01-25 21:27                                                   ` Gregory Heytings
2022-01-26 17:32                                                     ` Alan Mackenzie
2022-01-26 18:59                                                       ` Gregory Heytings
2022-01-26 20:26                                                         ` Alan Mackenzie
2022-01-25 22:11                                                   ` Stefan Monnier
2022-01-25 22:42                                                     ` Óscar Fuentes
2022-01-26  1:08                                                       ` Po Lu
2022-01-26 16:56                                                         ` chad
2022-01-26 17:38                                                           ` Eli Zaretskii
2022-01-26 17:58                                                             ` chad
2022-01-26 18:46                                                         ` Gregory Heytings
2022-01-26 19:47                                                           ` Stefan Monnier
2022-01-26 19:59                                                           ` Alan Mackenzie
2022-01-25 21:18                                                 ` Gregory Heytings
2022-01-25 21:38                                             ` Gregory Heytings
2022-01-25 22:21                                               ` Stefan Monnier
2022-01-26 18:36                                                 ` Gregory Heytings
2022-02-04  0:11                                                 ` Gregory Heytings
2022-02-04 11:57                                                   ` Alan Mackenzie
2022-02-04 12:06                                                     ` Eli Zaretskii
2022-02-04 18:31                                                       ` Alan Mackenzie
2022-02-04 18:54                                                         ` Eli Zaretskii
2022-02-04 19:33                                                           ` Alan Mackenzie
2022-02-04 19:46                                                             ` Eli Zaretskii
2022-02-04 21:24                                                               ` Alan Mackenzie
2022-02-04 22:24                                                                 ` Stefan Monnier
2022-02-04 22:30                                                                   ` Stefan Monnier
2022-02-05  7:28                                                                     ` Eli Zaretskii
2022-02-05 18:04                                                                       ` Stefan Monnier
2022-02-05 18:31                                                                         ` Eli Zaretskii
2022-02-05  8:17                                                                 ` Eli Zaretskii
2022-02-06 11:50                                                                   ` Alan Mackenzie
2022-02-06 11:56                                                                     ` Eli Zaretskii
2022-02-06 18:09                                                                       ` Alan Mackenzie
2022-02-06 18:39                                                                         ` Eli Zaretskii
2022-02-19 16:42                                                                           ` Alan Mackenzie
2022-02-19 17:02                                                                             ` Eli Zaretskii
2022-02-19 17:43                                                                               ` David Engster
2022-02-19 22:10                                                                                 ` Alan Mackenzie
2022-02-20  5:35                                                                                   ` David Engster
2022-02-20 19:45                                                                                     ` Alan Mackenzie [this message]
2022-02-20 20:37                                                                                   ` Stefan Monnier
2022-02-20 20:56                                                                                     ` Alan Mackenzie
2022-02-20 23:02                                                                                       ` Stefan Monnier
2022-02-21  0:22                                                                                         ` Óscar Fuentes
2022-02-21  3:31                                                                                           ` Eli Zaretskii
2022-02-21  4:04                                                                                             ` Óscar Fuentes
2022-02-21 12:15                                                                                               ` Eli Zaretskii
2022-02-21 14:55                                                                                                 ` Óscar Fuentes
2022-02-21  3:29                                                                                         ` Eli Zaretskii
2022-02-19 19:01                                                                               ` Stefan Monnier
2022-02-19 19:30                                                                                 ` Eli Zaretskii
2022-02-19 22:03                                                                               ` Alan Mackenzie
2022-02-25 22:29                                                                               ` Alan Mackenzie
2022-02-06 18:40                                                                         ` Eli Zaretskii
2022-02-06 19:03                                                                           ` Eli Zaretskii
2022-02-07 17:36                                                                             ` Andrea Corallo
2022-02-05  6:08                                                   ` Lars Ingebrigtsen
2022-02-05 11:42                                                     ` Alan Mackenzie
2022-02-05 21:31                                                       ` Lars Ingebrigtsen
2022-02-06  7:02                                                         ` Eli Zaretskii
2022-02-06 11:38                                                         ` Alan Mackenzie
2022-02-06 23:14                                                           ` Lars Ingebrigtsen
2022-01-25 21:15                                           ` Gregory Heytings
2022-01-25 21:30                                             ` Andrea Corallo
2022-01-26 18:43                                               ` Gregory Heytings
2022-01-26 21:04                                                 ` Andrea Corallo
     [not found]                                           ` <b0265c41-7ead-4913-667-d0e76a35b3ba@heytings.org>
2022-01-25 21:16                                             ` Gregory Heytings
2022-01-25 12:26                                         ` Eli Zaretskii
2022-01-26 18:41                                           ` Gregory Heytings
2022-01-26 18:59                                             ` Eli Zaretskii
2022-01-26 19:14                                               ` Stefan Monnier
2022-01-26 19:32                                                 ` Eli Zaretskii
2022-01-26 19:34                                             ` Alan Mackenzie
2022-01-22 18:35                 ` Alan Mackenzie
2022-01-22 18:45                   ` Gregory Heytings
2022-01-22 18:50                     ` Eli Zaretskii
2022-01-22 20:07                       ` Gregory Heytings
2022-01-23  5:32                         ` Eli Zaretskii
2022-01-23 21:44                           ` Gregory Heytings
2022-01-15 22:57 ` Stefan Monnier
2022-01-16  0:27 ` Brahimi Saifullah
2022-01-16 14:53   ` Alan Mackenzie
2022-01-16 16:45     ` Brahimi Saifullah
2022-01-22 11:41       ` Alan Mackenzie
2022-01-22 23:16         ` Brahimi Saifullah
2022-01-23 14:09           ` Alan Mackenzie
2022-01-17  9:38 ` Andrea Corallo

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=YhKaSSpMKjleUbI8@ACM \
    --to=acm@muc.de \
    --cc=deng@randomsample.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gregory@heytings.org \
    --cc=larsi@gnus.org \
    --cc=mattiase@acm.org \
    --cc=monnier@iro.umontreal.ca \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).