unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Helmut Eller <eller.helmut@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Pip Cet <pipcet@protonmail.com>,
	 gerd.moellmann@gmail.com, spd@toadstyle.org,
	 emacs-devel@gnu.org
Subject: Re: igc, macOS avoiding signals
Date: Sat, 04 Jan 2025 14:59:50 +0100	[thread overview]
Message-ID: <87wmfaof1l.fsf@gmail.com> (raw)
In-Reply-To: <87pll3ivzs.fsf@gmail.com> (Helmut Eller's message of "Fri, 03 Jan 2025 19:37:59 +0100")

[-- Attachment #1: Type: text/plain, Size: 1083 bytes --]

On Fri, Jan 03 2025, Helmut Eller wrote:
[...]
> I'm not sure if those differences are acceptable.  I also have no good
> idea how to reduce it, except inserting more calls to maybe_quit.

It seems that calling maybe_quit before and after calling functions
would cure this problem.  With the original maybe_quit restored, as in
the attached patch, the foo example looks so:

    1986 100%         main
    1986 100%           record-samples
    1986 100%             foo
    1214  61%               float-time

Compared to the original

    1074  54%               float-time

that seems pretty ok.  Also the bar example

     812  80%                     animate-place-char
       6   0%                       window-start
      29   2%                       beginning-of-line
      29   2%                       delete-char
       6   0%                         undo-auto-amalgamate
      36   3%                       insert-char
     390  38%                       move-to-column
      11   1%                         undo-auto--undoable-change

looks quite good to me.

WDYT?



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Restore-maybe_quit-before-functions-are-called.patch --]
[-- Type: text/x-diff, Size: 1049 bytes --]

From 754efc2306682d882595c1b72022a877b0f415f8 Mon Sep 17 00:00:00 2001
From: Helmut Eller <eller.helmut@gmail.com>
Date: Sat, 4 Jan 2025 14:33:57 +0100
Subject: [PATCH] Restore maybe_quit before functions are called.

* src/bytecode.c (exec_byte_code): Call maybe_quite before pushing
a function.
---
 src/bytecode.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bytecode.c b/src/bytecode.c
index 53c200e2c18..886be3e67f2 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -784,6 +784,7 @@ #define DEFINE(name, value) [name] = &&insn_ ## name,
 		  }
 	      }
 #endif
+	    maybe_quit ();
 
 	    if (++lisp_eval_depth > max_lisp_eval_depth)
 	      {
@@ -828,7 +829,8 @@ #define DEFINE(name, value) [name] = &&insn_ ## name,
 	    else
 	      val = funcall_general (original_fun, call_nargs, call_args);
 
-	    maybe_quit ();
+	    maybe_quit ();	/* needed for profiler */
+
 	    lisp_eval_depth--;
 	    if (backtrace_debug_on_exit (specpdl_ptr - 1))
 	      val = call_debugger (list2 (Qexit, val));
-- 
2.39.5


[-- Attachment #3: bar-3.report --]
[-- Type: text/plain, Size: 1416 bytes --]

       0   0% nil
    1007 100%   normal-top-level
    1007 100%     command-line
    1007 100%       command-line-1
    1007 100%         main
    1007 100%           record-samples
    1007 100%             bar
    1007 100%               animate-birthday-present
     999  99%                 animate-string
       5   0%                   sit-for
       5   0%                     sleep-for
      12   1%                   animate-initialize
     126  12%                   primitive-undo
      18   1%                     abs
     846  84%                   animate-step
     812  80%                     animate-place-char
       6   0%                       window-start
      29   2%                       beginning-of-line
      29   2%                       delete-char
       6   0%                         undo-auto-amalgamate
      36   3%                       insert-char
     390  38%                       move-to-column
      11   1%                         undo-auto--undoable-change
       8   0%                 capitalize
       8   0%                   load-with-code-conversion
       8   0%                     insert-file-contents
       8   0%                       set-auto-coding
       8   0%                         find-auto-coding
       8   0%                           auto-coding-regexp-alist-lookup
       8   0%                             re-search-forward
       0   0%   ...

  parent reply	other threads:[~2025-01-04 13:59 UTC|newest]

Thread overview: 133+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-28 13:24 igc, macOS avoiding signals Sean Devlin
2024-12-28 13:28 ` Gerd Möllmann
2024-12-28 14:31   ` Eli Zaretskii
2024-12-28 14:45     ` Gerd Möllmann
2024-12-30  7:13       ` Gerd Möllmann
2024-12-30  7:23         ` Gerd Möllmann
2024-12-30  7:39         ` Helmut Eller
2024-12-30  7:51           ` Gerd Möllmann
2024-12-30  8:02             ` Helmut Eller
2024-12-30  8:47               ` Gerd Möllmann
2024-12-30  9:29                 ` Helmut Eller
2024-12-30  9:47                   ` Helmut Eller
2024-12-30 11:54                     ` Gerd Möllmann
2024-12-30 10:05                   ` Gerd Möllmann
2024-12-30 10:27                     ` Helmut Eller
2024-12-30 11:53                       ` Gerd Möllmann
2024-12-30 14:54                         ` Eli Zaretskii
2024-12-30 15:05                           ` Gerd Möllmann
2024-12-30 15:05                           ` Pip Cet via Emacs development discussions.
2024-12-30 12:32                       ` Pip Cet via Emacs development discussions.
2024-12-30 14:24                         ` Eli Zaretskii
2024-12-30 14:59                         ` Helmut Eller
2024-12-30 15:15                           ` Eli Zaretskii
2024-12-30 15:24                             ` Helmut Eller
2024-12-30 15:25                           ` Pip Cet via Emacs development discussions.
2024-12-30 15:34                             ` Gerd Möllmann
2024-12-30 19:02                             ` Helmut Eller
2024-12-30 20:03                               ` Pip Cet via Emacs development discussions.
2024-12-30 15:30                           ` Gerd Möllmann
2024-12-30 16:57                             ` Helmut Eller
2024-12-30 17:41                               ` Gerd Möllmann
2024-12-30 17:49                               ` Pip Cet via Emacs development discussions.
2024-12-30 18:33                                 ` Helmut Eller
2024-12-30 17:49                               ` Eli Zaretskii
2024-12-30 18:37                                 ` Gerd Möllmann
2024-12-30 19:15                                   ` Eli Zaretskii
2024-12-30 19:55                                     ` Gerd Möllmann
2024-12-31  7:34                                       ` Helmut Eller
2024-12-31  9:19                                         ` Gerd Möllmann
2024-12-31  9:51                                           ` Helmut Eller
2024-12-31 10:00                                             ` Gerd Möllmann
2024-12-31 13:49                                             ` Pip Cet via Emacs development discussions.
2024-12-31 14:13                                               ` Eli Zaretskii
2024-12-31  9:51                                           ` Gerd Möllmann
2024-12-31 13:18                                           ` Eli Zaretskii
2024-12-31 14:15                                             ` Gerd Möllmann
2024-12-31 14:27                                               ` Eli Zaretskii
2024-12-31 15:05                                                 ` Gerd Möllmann
2024-12-31 15:14                                                   ` Eli Zaretskii
2024-12-31 15:20                                                     ` Gerd Möllmann
2024-12-31 15:12                                               ` Helmut Eller
2024-12-31 15:31                                                 ` Gerd Möllmann
2024-12-31 15:37                                                   ` Helmut Eller
2024-12-31 15:39                                                     ` Gerd Möllmann
2024-12-31 10:09                                         ` Pip Cet via Emacs development discussions.
2024-12-31 13:27                                           ` Eli Zaretskii
2024-12-31 14:29                                             ` Pip Cet via Emacs development discussions.
2024-12-31 14:34                                               ` Eli Zaretskii
2024-12-31 15:08                                                 ` Gerd Möllmann
2025-01-03 18:37                                                 ` Helmut Eller
2025-01-03 19:55                                                   ` Eli Zaretskii
2025-01-03 20:28                                                   ` Pip Cet via Emacs development discussions.
2025-01-04  7:01                                                   ` Gerd Möllmann
2025-01-04  8:02                                                     ` Gerd Möllmann
2025-01-04  8:34                                                       ` Eli Zaretskii
2025-01-04  9:02                                                         ` Gerd Möllmann
2025-01-04  9:59                                                           ` Eli Zaretskii
2025-01-04 10:22                                                             ` Gerd Möllmann
2025-01-04 13:59                                                   ` Helmut Eller [this message]
2025-01-04 14:15                                                     ` Gerd Möllmann
2025-01-04 14:17                                                     ` Eli Zaretskii
2025-01-04 14:55                                                       ` Helmut Eller
2025-01-04 15:06                                                         ` Eli Zaretskii
2025-01-04 16:02                                                         ` Pip Cet via Emacs development discussions.
2025-01-04 17:13                                                           ` Helmut Eller
2024-12-31 15:07                                               ` Gerd Möllmann
2024-12-31 13:14                                         ` Eli Zaretskii
2024-12-31 14:19                                           ` Pip Cet via Emacs development discussions.
2024-12-31 14:31                                             ` Eli Zaretskii
2024-12-31 14:40                                           ` Helmut Eller
2024-12-31 14:55                                             ` Gerd Möllmann
2024-12-31 15:07                                               ` Eli Zaretskii
2024-12-31 15:13                                                 ` Gerd Möllmann
2024-12-31 15:16                                                   ` Helmut Eller
2025-01-02  8:37                                                   ` Stefan Kangas
2025-01-02  9:05                                                     ` Eli Zaretskii
2025-01-02 10:00                                                       ` Helmut Eller
2025-01-02 12:34                                                       ` Pip Cet via Emacs development discussions.
2025-01-02 13:08                                                         ` Gerd Möllmann
2025-01-02 15:42                                                         ` Eli Zaretskii
2025-01-02 17:56                                                           ` Pip Cet via Emacs development discussions.
2024-12-30 12:42                       ` Pip Cet via Emacs development discussions.
2024-12-30 13:40                         ` Gerd Möllmann
2024-12-30 13:53                           ` Pip Cet via Emacs development discussions.
2024-12-30 14:02                             ` Gerd Möllmann
2024-12-30 14:32                               ` Pip Cet via Emacs development discussions.
2024-12-30 14:52                                 ` Gerd Möllmann
2024-12-30 11:18                 ` Pip Cet via Emacs development discussions.
2024-12-30 12:23                   ` Gerd Möllmann
2024-12-30 11:11             ` Pip Cet via Emacs development discussions.
2024-12-30 12:13               ` Gerd Möllmann
2024-12-30 10:53           ` Pip Cet via Emacs development discussions.
2024-12-30 10:46         ` Pip Cet via Emacs development discussions.
2024-12-30 12:00           ` Gerd Möllmann
2024-12-30 12:07           ` Gerd Möllmann
2024-12-28 15:12 ` Pip Cet via Emacs development discussions.
2024-12-28 17:30   ` Eli Zaretskii
2024-12-28 18:40     ` Pip Cet via Emacs development discussions.
2024-12-28 18:50       ` Eli Zaretskii
2024-12-28 19:07         ` Eli Zaretskii
2024-12-28 19:20           ` Pip Cet via Emacs development discussions.
2024-12-28 19:36             ` Eli Zaretskii
2024-12-28 20:54               ` Pip Cet via Emacs development discussions.
2024-12-29  5:51                 ` Eli Zaretskii
2024-12-28 19:15         ` Pip Cet via Emacs development discussions.
2024-12-28 19:30           ` Eli Zaretskii
2024-12-28 16:29 ` Pip Cet via Emacs development discussions.
2024-12-29  2:21   ` Sean Devlin
2024-12-29 12:22     ` Pip Cet via Emacs development discussions.
2024-12-29 15:01       ` Gerd Möllmann
2024-12-29 19:44         ` Pip Cet via Emacs development discussions.
2024-12-30  6:16           ` Gerd Möllmann
2024-12-30 12:51             ` Gerd Möllmann
2024-12-30 13:09               ` Pip Cet via Emacs development discussions.
2024-12-30 13:28                 ` Gerd Möllmann
2024-12-30  5:24         ` Sean Devlin
2024-12-30  6:17           ` Gerd Möllmann
2024-12-30  5:23       ` Sean Devlin
  -- strict thread matches above, loose matches on Subject: below --
2024-12-28  6:40 Gerd Möllmann
2024-12-28 12:49 ` Pip Cet via Emacs development discussions.
2024-12-28 12:55   ` Gerd Möllmann
2024-12-28 13:50     ` Óscar Fuentes
2024-12-29  8:02       ` Helmut Eller

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=87wmfaof1l.fsf@gmail.com \
    --to=eller.helmut@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gerd.moellmann@gmail.com \
    --cc=pipcet@protonmail.com \
    --cc=spd@toadstyle.org \
    /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).