GNU bug report logs - #19776
25.0.50; HTML rendering is very slow

Previous Next

Package: emacs;

Reported by: rms <at> gnu.org

Date: Wed, 4 Feb 2015 23:04:02 UTC

Severity: minor

Merged with 22846

Found in versions 25.0.50, 25.0.91

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 19776 <at> debbugs.gnu.org, stefan <at> marxist.se, monnier <at> iro.umontreal.ca, rms <at> gnu.org
Subject: bug#19776: 25.0.50; HTML rendering is very slow
Date: Mon, 25 Oct 2021 19:09:47 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Cc: Eli Zaretskii <eliz <at> gnu.org>,  stefan <at> marxist.se,  rms <at> gnu.org,
>   19776 <at> debbugs.gnu.org
> Date: Mon, 25 Oct 2021 00:28:12 +0200
> 
> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> 
> > Basically all loops should call `maybe_quit`, so the issue is probably
> > not that `maybe_quit` is not called often enough, but that for some
> > reason we don't set the vars that it checks or something like that.
> 
> I've been trying to follow the logic in how the atimer stuff is supposed
> to work.  It registers a special timer fd that sets a timeout, and it's
> supposed to be called back in timerfd_callback.  And that happens if I'm
> (for instance) idling in a `sleep-for'.
> 
> When Emacs is busy looping, we never get a callback -- presumably
> because we're not reading any file descriptors in that case?  But...
> was the idea that this would work in a busy Emacs?  I mean, events from
> the keyboard/mouse are able to poke Emacs in a way that it realises that
> it has a pending event to handle, but not the timerfd?

Input events work via SIGIO on X, and SIGIO sets pending_signals, and
then we check the atimers.

I guess this means timerfd is only good for when Emacs is calling
thread_select, i.e. either it's idling or waiting for process output.
So timerfd, if available, should be used together with interval
timers, so that we get SIGALRM when we aren't idle, I guess.  Not
either timerfd or interval timers, but both.




This bug report was last modified 3 years and 206 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.