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: Thu, 05 Dec 2013 19:36:02 +0200 Message-ID: <83lhzz2oal.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> <83txeo33ls.fsf@gnu.org> <52A01D59.7030304@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1386265035 23882 80.91.229.3 (5 Dec 2013 17:37:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 5 Dec 2013 17:37: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 Thu Dec 05 18:37:19 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 1VocrV-00035s-3x for geb-bug-gnu-emacs@m.gmane.org; Thu, 05 Dec 2013 18:37:17 +0100 Original-Received: from localhost ([::1]:54922 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VocrU-0006Rw-By for geb-bug-gnu-emacs@m.gmane.org; Thu, 05 Dec 2013 12:37:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37579) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VocrM-0006P9-8O for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 12:37:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VocrH-0007of-8i for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 12:37:08 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46131) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VocrH-0007oL-5m for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 12:37:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VocrG-0001vy-MM for bug-gnu-emacs@gnu.org; Thu, 05 Dec 2013 12:37:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Dec 2013 17:37:02 +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.13862650117410 (code B ref 15876); Thu, 05 Dec 2013 17:37:02 +0000 Original-Received: (at 15876) by debbugs.gnu.org; 5 Dec 2013 17:36:51 +0000 Original-Received: from localhost ([127.0.0.1]:60150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vocr4-0001vR-Go for submit@debbugs.gnu.org; Thu, 05 Dec 2013 12:36:50 -0500 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:60007) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vocr2-0001vI-CU for 15876@debbugs.gnu.org; Thu, 05 Dec 2013 12:36:49 -0500 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MXC00800GW8B800@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Thu, 05 Dec 2013 19:36:15 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MXC0078SGWFWO90@a-mtaout22.012.net.il>; Thu, 05 Dec 2013 19:36:15 +0200 (IST) In-reply-to: <52A01D59.7030304@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:81444 Archived-At: > Date: Thu, 05 Dec 2013 10:29:45 +0400 > From: Dmitry Antipov > CC: sva-news@mygooglest.com, 15876@debbugs.gnu.org > > 1. Apply attached patch and rebuild. > 2. Run emacs -Q, then M-x insert-char 25b7 and M-x describe-char. > Now you should know the C pointer to font object which is used > to display right-pointing triangle (underlined red on screenshot). > 3. Insert GDB breakpoints to fprintf, move cursor, do some basic editing > around the triangle and run M-x garbage-collect few times. An > interesting font object should be either marked or swept; if it's > markerd, you should hit the breakpoint "GCX: mark interesting font Y". > For my --without-xft build, M-x garbage-collect always shows that an > interesting font object is marked in expected way - via face cache. E.g.: > > (gdb) bt 8 > #0 __fprintf (stream=0x3869dbb1e0 <_IO_2_1_stderr_>, format=0x6cf620 "GC%ld: mark interesting font %p\n") at fprintf.c:27 > #1 0x00000000005c7269 in mark_vectorlike (ptr=0xd7c8b8) at ../../trunk/src/alloc.c:5745 > #2 0x00000000005c75a4 in mark_face_cache (c=0x11456b0) at ../../trunk/src/alloc.c:5838 > #3 0x00000000005c7b43 in mark_object (arg=...) at ../../trunk/src/alloc.c:6014 > #4 0x00000000005c7288 in mark_vectorlike (ptr=0x127d4f8) at ../../trunk/src/alloc.c:5754 > #5 0x00000000005c7baa in mark_object (arg=...) at ../../trunk/src/alloc.c:6031 > #6 0x00000000005c7288 in mark_vectorlike (ptr=0xcf3230) at ../../trunk/src/alloc.c:5754 > #7 0x00000000005c7457 in mark_buffer (buffer=0xcf3230) at ../../trunk/src/alloc.c:5805 > (More stack frames follow...) Thanks. Yes, I see the same on Windows. However, I'm not sure we are looking at objects we should be looking at. The ones your code traces are font objects. By contrast, the entries in the font caches are cons cells like this: (font-spec . [font-entity1 font-entity2 ...]) IOW, I think we should be tracing font-specs and font-entities, not font objects.