From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#21028: Performance regression in revision af1a69f4d17a482c359d98c00ef86fac835b5fac (Apr 2014). Date: Thu, 22 Dec 2016 18:25:30 +0200 Message-ID: <83h95w0w3p.fsf@gnu.org> References: <559F9FAF.8090708@live.com> <559FF8F6.2060209@live.com> <55A652E4.5000606@yandex.ru> <56D7D5D3.4030103@live.com> <56D7DCC6.9060003@live.com> <56D7E2F6.2020008@live.com> <56D7E8D6.6080508@live.com> <831t7r1f41.fsf@gnu.org> <5ce0aa39-8a49-5cfd-2eac-343fae4505a1@live.com> <83fur3ysvk.fsf@gnu.org> <83dde388-a342-ed1e-1242-7953d9a0f525@gmail.com> <83lgx9ua9x.fsf@gnu.org> <389383ed-ce95-a558-e441-ba7cfa58d58e@gmail.com> <83bmy5u6qo.fsf@gnu.org> <2fd3e21c-37b9-d559-6306-4e8adebad3d5@gmail.com> <831sz0sfug.fsf@gnu.org> <83oa095eaw.fsf@gnu.org> <83lgvd581m.fsf@gnu.org> <83a8br6hq0.fsf@gnu.org> <672a0c69-4352-735f-cba4-025e642626ea@gmail.com> <83vauf50wb.fsf@gnu.org> <7408d59c-92ba-b879-5ac1-3cd5eee9b4db@gmail.com> <83tw9z4zzp.fsf@gnu.org> <2cad0da9-c931-b547-07bb-efec2f2bcf1f@gmail.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1482424058 19866 195.159.176.226 (22 Dec 2016 16:27:38 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 22 Dec 2016 16:27:38 +0000 (UTC) Cc: 21028@debbugs.gnu.org To: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Dec 22 17:27:32 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cK6D6-0002kI-V9 for geb-bug-gnu-emacs@m.gmane.org; Thu, 22 Dec 2016 17:27:17 +0100 Original-Received: from localhost ([::1]:35029 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cK6DB-0007Jc-J7 for geb-bug-gnu-emacs@m.gmane.org; Thu, 22 Dec 2016 11:27:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51608) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cK6Cx-0006h6-8R for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2016 11:27:15 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cK6Cs-0005gy-8v for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2016 11:27:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36346) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cK6Cs-0005gs-4i for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2016 11:27:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cK6Cr-0000Md-Vk for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2016 11:27: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: Thu, 22 Dec 2016 16:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21028 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 21028-submit@debbugs.gnu.org id=B21028.14824239721337 (code B ref 21028); Thu, 22 Dec 2016 16:27:01 +0000 Original-Received: (at 21028) by debbugs.gnu.org; 22 Dec 2016 16:26:12 +0000 Original-Received: from localhost ([127.0.0.1]:51745 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cK6C4-0000LV-Ci for submit@debbugs.gnu.org; Thu, 22 Dec 2016 11:26:12 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:60541) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cK6C3-0000LD-5r for 21028@debbugs.gnu.org; Thu, 22 Dec 2016 11:26:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cK6Bs-0005Yy-VB for 21028@debbugs.gnu.org; Thu, 22 Dec 2016 11:26:05 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37575) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cK6Bs-0005Yu-RP; Thu, 22 Dec 2016 11:26:00 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1081 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cK6Br-00074W-FV; Thu, 22 Dec 2016 11:26:00 -0500 In-reply-to: <2cad0da9-c931-b547-07bb-efec2f2bcf1f@gmail.com> (message from =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel on Mon, 19 Dec 2016 12:13:31 -0500) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:127326 Archived-At: > Cc: 21028@debbugs.gnu.org > From: Clément Pit--Claudel > Date: Mon, 19 Dec 2016 12:13:31 -0500 > > Here is a concrete experiment: > > # With :name > $ time /build/emacs/25/src/emacs -Q -l 21028.el 21028.fixed --eval "(run-with-idle-timer 0 0 (lambda () (forward-line 25) (redisplay) (run-with-idle-timer 0 0 'kill-emacs)))" > > real 0m3.500s > user 0m1.400s > sys 0m0.824s > > > # With :family and :registry > $ time /build/emacs/25/src/emacs -Q -l 21028.fixed.el 21028.fixed --eval "(run-with-idle-timer 0 0 (lambda () (forward-line 25) (redisplay) (run-with-idle-timer 0 0 'kill-emacs)))" > > real 0m1.487s > user 0m0.752s > sys 0m0.188s > > > # With your patch from last month applied and the original one reverted: > $ time /build/emacs/master/src/emacs -Q -l 21028.fixed.el 21028.fixed --eval "(run-with-idle-timer 0 0 (lambda () (forward-line 25) (redisplay) (run-with-idle-timer 0 0 'kill-emacs)))" > > real 0m0.486s > user 0m0.236s > sys 0m0.028s I indeed see slow redisplay with your test files (but only after changing 'append' to 'prepend', because otherwise Emacs selects a different font for the arrows). But when I looked at the display closely, I found that the arrows are not displayed using Segoe UI Emoji font, they are displayed by some other font. In fact, the only characters in that test which use the Segoe UI Emoji font are blanks! Did you try using "C-u C-x =" to see which characters are displayed using the Emoji font in your case? I think that's because Segoe UI Emoji doesn't have glyphs for the arrows, at least on my system. So I modified your 21028.fixed.el recipe as follows: (dolist (frame (frame-list)) (dolist (fontset (fontset-list)) (set-fontset-font fontset 'unicode (font-spec :family "Segoe UI Symbol" :registry "iso10646-1") frame 'prepend) (set-fontset-font fontset 'unicode (font-spec :family "XITS Math":registry "iso10646-1") frame 'prepend))) (setq-default prettify-symbols-alist '(("=>" . 8658) (":=" . 8796))) and the problem went away: the arrows are displayed using Segoe UI Symbol (which, at least on my system, includes both symbols and Emoji), and there's no slowdown anymore.