From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Date: Wed, 04 Dec 2013 19:53:03 +0200 Message-ID: <83txeo33ls.fsf@gnu.org> References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> <86bo1eaelv.fsf@somewhere.org> <86r4a2vqbu.fsf@somewhere.org> <867gbqdisp.fsf@somewhere.org> <83haas5y88.fsf@gnu.org> <529C64C5.2040509@yandex.ru> <834n6r5edh.fsf@gnu.org> <529DAAED.9000504@yandex.ru> <83ob4y3wi5.fsf@gnu.org> <529DF416.7070807@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1386179655 9053 80.91.229.3 (4 Dec 2013 17:54:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 4 Dec 2013 17:54:15 +0000 (UTC) Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org To: Dmitry Antipov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Dec 04 18:54:20 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VoGeR-0005DU-5W for geb-bug-gnu-emacs@m.gmane.org; Wed, 04 Dec 2013 18:54:19 +0100 Original-Received: from localhost ([::1]:49641 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoGeQ-0002IN-Pb for geb-bug-gnu-emacs@m.gmane.org; Wed, 04 Dec 2013 12:54:18 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52114) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoGeH-0002Hv-8i for bug-gnu-emacs@gnu.org; Wed, 04 Dec 2013 12:54:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoGeA-0001rP-FR for bug-gnu-emacs@gnu.org; Wed, 04 Dec 2013 12:54:09 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:44257) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoGeA-0001rD-Bw for bug-gnu-emacs@gnu.org; Wed, 04 Dec 2013 12:54:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VoGe9-0004ed-Rg for bug-gnu-emacs@gnu.org; Wed, 04 Dec 2013 12:54:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 04 Dec 2013 17:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15876 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15876-submit@debbugs.gnu.org id=B15876.138617958917813 (code B ref 15876); Wed, 04 Dec 2013 17:54:01 +0000 Original-Received: (at 15876) by debbugs.gnu.org; 4 Dec 2013 17:53:09 +0000 Original-Received: from localhost ([127.0.0.1]:58276 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoGdJ-0004dF-8U for submit@debbugs.gnu.org; Wed, 04 Dec 2013 12:53:09 -0500 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:64628) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoGdH-0004d5-7a for 15876@debbugs.gnu.org; Wed, 04 Dec 2013 12:53:08 -0500 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MXA00600MVUKE00@a-mtaout23.012.net.il> for 15876@debbugs.gnu.org; Wed, 04 Dec 2013 19:53:05 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MXA006BIN0H44C0@a-mtaout23.012.net.il>; Wed, 04 Dec 2013 19:53:05 +0200 (IST) In-reply-to: <529DF416.7070807@yandex.ru> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:81380 Archived-At: > Date: Tue, 03 Dec 2013 19:09:10 +0400 > From: Dmitry Antipov > CC: sva-news@mygooglest.com, 15876@debbugs.gnu.org > > According to comments at the beginning of font.h, FONT_ENTITY_INDEX slot > of font object should reference font-entity from which this font object > is opened. But now I'm seeing that this slot is always Qnil. I.e. the > following patch should help: > > === modified file 'src/font.c' > --- src/font.c 2013-10-29 16:11:50 +0000 > +++ src/font.c 2013-12-03 12:10:28 +0000 > @@ -196,6 +196,7 @@ > if (! NILP (AREF (entity, FONT_EXTRA_INDEX))) > font->props[FONT_EXTRA_INDEX] > = Fcopy_alist (AREF (entity, FONT_EXTRA_INDEX)); > + font->props[FONT_ENTITY_INDEX] = entity; > } > if (size > 0) > font->props[FONT_SIZE_INDEX] = make_number (pixelsize); > > With this patch applied, I can hit 'break' at alloc.c:5327 even if > configured with --without-xft; this should help MS-Windows build too. Thanks. Indeed, with this patch, I now see several font-entities spared from being GC'ed. Unfortunately, this doesn't solve the slow-down with that character and font, while ifdef'ing away this fragment from compact_font_caches: if (CONSP (cache)) { Lisp_Object entry; for (entry = XCDR (cache); CONSP (entry); entry = XCDR (entry)) XSETCAR (entry, compact_font_cache_entry (XCAR (entry))); } does solve it. So there's some other factor at work here that causes us to drop portions of the font cache that we shouldn't have. What kind of information do I need to collect on Windows to make it clear where the problem is? Can you suggest some code that would collect the necessary information, or ideas for writing such code? (It's inconvenient to collect the data in GDB, since many objects are marked at this point, and printing them from GDB crashes Emacs.)