GNU bug report logs - #15876
24.3.50; Highly degraded performance between rev 114715 and 115006

Previous Next

Package: emacs;

Reported by: "Sebastien Vauban" <sva-news <at> mygooglest.com>

Date: Tue, 12 Nov 2013 15:34:02 UTC

Severity: normal

Merged with 24565, 24918

Found in versions 24.3.50, 25.1

Done: Eli Zaretskii <eliz <at> gnu.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: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: sva-news <at> mygooglest.com, 15876 <at> debbugs.gnu.org, jan.h.d <at> swipnet.se, dmantipov <at> yandex.ru
Subject: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006
Date: Fri, 13 Dec 2013 20:55:19 +0200
> From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
> Cc: Jan Djärv <jan.h.d <at> swipnet.se>,
>         sva-news <at> mygooglest.com, 15876 <at> debbugs.gnu.org, dmantipov <at> yandex.ru
> Date: Fri, 13 Dec 2013 11:50:49 -0500
> 
> >  . I also tried a different approach: compact only those font-entities
> >    that don't match any font that is still used by some face on some
> >    frame.  (I used font_match_p for that.)  This seems to work, except
> >    that font_match_p is evidently not safe enough to be used in the
> >    middle of GC -- I got crashes a few times.  When it did work, it
> >    again prevented the compaction, as if the compacting code were not
> >    there at all.
> 
> Maybe a better way goes along the lines of:
> - every time we use a font, we set an "in_use" bit.

The problem is not with fonts, it is with font-entities (a different
type of object) stored within the font cache.

I couldn't find any code that marks them "in use" or records them in
some other Lisp object (which would have prevented them from being
GC'ed).

> - every now and then (ha ha!), we let the GC collect fonts that don't
>   have their "in_use" bit set.

You didn't say who will reset that bit.




This bug report was last modified 8 years and 168 days ago.

Previous Next


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