From unknown Sat Jun 14 17:53:06 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#15876 <15876@debbugs.gnu.org> To: bug#15876 <15876@debbugs.gnu.org> Subject: Status: 24.3.50; Highly degraded performance between rev 114715 and 115006 Reply-To: bug#15876 <15876@debbugs.gnu.org> Date: Sun, 15 Jun 2025 00:53:06 +0000 retitle 15876 24.3.50; Highly degraded performance between rev 114715 and 1= 15006 reassign 15876 emacs submitter 15876 "Sebastien Vauban" severity 15876 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 12 10:33:32 2013 Received: (at submit) by debbugs.gnu.org; 12 Nov 2013 15:33:32 +0000 Received: from localhost ([127.0.0.1]:48936 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgFy7-0003zz-2F for submit@debbugs.gnu.org; Tue, 12 Nov 2013 10:33:32 -0500 Received: from eggs.gnu.org ([208.118.235.92]:37608) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgFy3-0003zk-H2 for submit@debbugs.gnu.org; Tue, 12 Nov 2013 10:33:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VgFxs-0005zi-0c for submit@debbugs.gnu.org; Tue, 12 Nov 2013 10:33:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:47528) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgFxr-0005ze-Uf for submit@debbugs.gnu.org; Tue, 12 Nov 2013 10:33:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39310) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgFxn-0003LA-6H for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 10:33:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VgFxi-0005wj-Fg for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 10:33:11 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:46246 helo=mail.missioncriticalit.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgFxi-0005wN-4V for bug-gnu-emacs@gnu.org; Tue, 12 Nov 2013 10:33:06 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.10.51]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 5E538500F5C for ; Tue, 12 Nov 2013 16:35:40 +0100 (CET) From: "Sebastien Vauban" To: bug-gnu-emacs@gnu.org Subject: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban X-Url: Under construction... X-Archive: encrypt Date: Tue, 12 Nov 2013 16:32:49 +0100 Message-ID: <867gcdiqji.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.3 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.3 (----) Hello, Having switched from Emacs 24.3.50.1 rev:114715 to rev:115006, I've noticed a huge degradation of performance -- with the same .emacs file. See a comparative demo on http://screencast.com/t/grH48ZtIbvI2. What's become slow: - movements (, , etc.) in Org files - movements (, , etc.) in mails - maybe other stuff (not yet tested) What's become VERY, VERY slow: - cycling in an Org file with : from more or less 1 to 20 seconds... Almost impossible to use. Flyspell is not the culprit (at least, in the Org file): I did disable it before making the video. I'm willing to use elp, would I know which packages to instrument. Best regards, Seb In GNU Emacs 24.3.50.1 (i686-pc-mingw32) of 2013-11-06 on LEG570 Bzr revision: 115006 rgm@gnu.org-20131106175648-ms1emc1ls7n2d1pb Windowing system distributor `Microsoft Corp.', version 6.2.9200 Configured using: `configure --enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1' Important settings: value of $LANG: en_US.utf8 locale-coding-system: cp1252 default enable-multibyte-characters: t Major mode: Org Minor modes in effect: global-auto-complete-mode: t auto-image-file-mode: t recentf-mode: t whitespace-mode: t shell-dirtrack-mode: t helm-match-plugin-mode: t helm-occur-match-plugin-mode: t yas-global-mode: t yas-minor-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t auto-fill-function: org-auto-fill-function transient-mark-mode: t Recent messages: Unable to load color "unspecified-fg" <<< I don't know where it comes from! Flyspell mode disabled Mark set [3 times] Beginning of buffer [2 times] Mark set [4 times] Load-path shadows: d:/Users/sva/.emacs.d/elpa/graphviz-dot-mode-20120821.1835/graphviz-dot-mode hides ~/.emacs.d/site-lisp/graphviz-dot-mode ~/Public/Repositories/org-mode/lisp/org hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org ~/Public/Repositories/org-mode/contrib/lisp/org-wl hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-wl ~/Public/Repositories/org-mode/lisp/org-w3m hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-w3m ~/Public/Repositories/org-mode/contrib/lisp/org-vm hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-vm ~/Public/Repositories/org-mode/lisp/org-version hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-version ~/Public/Repositories/org-mode/lisp/org-timer hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-timer ~/Public/Repositories/org-mode/lisp/org-table hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-table ~/Public/Repositories/org-mode/lisp/org-src hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-src ~/Public/Repositories/org-mode/lisp/org-rmail hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-rmail ~/Public/Repositories/org-mode/lisp/org-protocol hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-protocol ~/Public/Repositories/org-mode/lisp/org-plot hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-plot ~/Public/Repositories/org-mode/lisp/org-pcomplete hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-pcomplete ~/Public/Repositories/org-mode/lisp/org-mouse hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-mouse ~/Public/Repositories/org-mode/lisp/org-mobile hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-mobile ~/Public/Repositories/org-mode/lisp/org-mhe hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-mhe ~/Public/Repositories/org-mode/contrib/lisp/org-mew hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-mew ~/Public/Repositories/org-mode/lisp/org-macs hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-macs ~/Public/Repositories/org-mode/lisp/org-loaddefs hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-loaddefs ~/Public/Repositories/org-mode/lisp/org-list hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-list ~/Public/Repositories/org-mode/lisp/org-irc hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-irc ~/Public/Repositories/org-mode/lisp/org-install hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-install ~/Public/Repositories/org-mode/lisp/org-inlinetask hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-inlinetask ~/Public/Repositories/org-mode/lisp/org-info hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-info ~/Public/Repositories/org-mode/lisp/org-indent hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-indent ~/Public/Repositories/org-mode/lisp/org-id hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-id ~/Public/Repositories/org-mode/lisp/org-habit hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-habit ~/Public/Repositories/org-mode/lisp/org-gnus hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-gnus ~/Public/Repositories/org-mode/lisp/org-footnote hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-footnote ~/Public/Repositories/org-mode/lisp/org-feed hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-feed ~/Public/Repositories/org-mode/lisp/org-faces hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-faces ~/Public/Repositories/org-mode/lisp/org-eshell hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-eshell ~/Public/Repositories/org-mode/lisp/org-entities hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-entities ~/Public/Repositories/org-mode/lisp/org-element hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-element ~/Public/Repositories/org-mode/lisp/org-docview hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-docview ~/Public/Repositories/org-mode/lisp/org-datetree hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-datetree ~/Public/Repositories/org-mode/lisp/org-ctags hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-ctags ~/Public/Repositories/org-mode/lisp/org-crypt hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-crypt ~/Public/Repositories/org-mode/lisp/org-compat hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-compat ~/Public/Repositories/org-mode/lisp/org-colview hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-colview ~/Public/Repositories/org-mode/lisp/org-clock hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-clock ~/Public/Repositories/org-mode/lisp/org-capture hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-capture ~/Public/Repositories/org-mode/lisp/org-bibtex hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-bibtex ~/Public/Repositories/org-mode/lisp/org-bbdb hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-bbdb ~/Public/Repositories/org-mode/lisp/org-attach hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-attach ~/Public/Repositories/org-mode/lisp/org-archive hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-archive ~/Public/Repositories/org-mode/lisp/org-agenda hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/org-agenda ~/Public/Repositories/org-mode/lisp/ob hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob ~/Public/Repositories/org-mode/lisp/ob-tangle hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-tangle ~/Public/Repositories/org-mode/lisp/ob-table hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-table ~/Public/Repositories/org-mode/lisp/ob-sqlite hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-sqlite ~/Public/Repositories/org-mode/lisp/ob-sql hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-sql ~/Public/Repositories/org-mode/lisp/ob-shen hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-shen ~/Public/Repositories/org-mode/lisp/ob-sh hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-sh ~/Public/Repositories/org-mode/lisp/ob-screen hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-screen ~/Public/Repositories/org-mode/lisp/ob-scheme hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-scheme ~/Public/Repositories/org-mode/lisp/ob-scala hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-scala ~/Public/Repositories/org-mode/lisp/ob-sass hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-sass ~/Public/Repositories/org-mode/lisp/ob-ruby hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-ruby ~/Public/Repositories/org-mode/lisp/ob-ref hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-ref ~/Public/Repositories/org-mode/lisp/ob-R hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-R ~/Public/Repositories/org-mode/lisp/ob-python hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-python ~/Public/Repositories/org-mode/lisp/ob-plantuml hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-plantuml ~/Public/Repositories/org-mode/lisp/ob-picolisp hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-picolisp ~/Public/Repositories/org-mode/lisp/ob-perl hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-perl ~/Public/Repositories/org-mode/lisp/ob-org hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-org ~/Public/Repositories/org-mode/lisp/ob-octave hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-octave ~/Public/Repositories/org-mode/lisp/ob-ocaml hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-ocaml ~/Public/Repositories/org-mode/lisp/ob-mscgen hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-mscgen ~/Public/Repositories/org-mode/lisp/ob-maxima hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-maxima ~/Public/Repositories/org-mode/lisp/ob-matlab hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-matlab ~/Public/Repositories/org-mode/lisp/ob-lob hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-lob ~/Public/Repositories/org-mode/lisp/ob-lisp hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-lisp ~/Public/Repositories/org-mode/lisp/ob-lilypond hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-lilypond ~/Public/Repositories/org-mode/lisp/ob-ledger hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-ledger ~/Public/Repositories/org-mode/lisp/ob-latex hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-latex ~/Public/Repositories/org-mode/lisp/ob-keys hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-keys ~/Public/Repositories/org-mode/lisp/ob-js hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-js ~/Public/Repositories/org-mode/lisp/ob-java hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-java ~/Public/Repositories/org-mode/lisp/ob-io hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-io ~/Public/Repositories/org-mode/lisp/ob-haskell hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-haskell ~/Public/Repositories/org-mode/lisp/ob-gnuplot hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-gnuplot ~/Public/Repositories/org-mode/lisp/ob-fortran hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-fortran ~/Public/Repositories/org-mode/lisp/ob-exp hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-exp ~/Public/Repositories/org-mode/lisp/ob-eval hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-eval ~/Public/Repositories/org-mode/lisp/ob-emacs-lisp hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-emacs-lisp ~/Public/Repositories/org-mode/lisp/ob-dot hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-dot ~/Public/Repositories/org-mode/lisp/ob-ditaa hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-ditaa ~/Public/Repositories/org-mode/lisp/ob-css hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-css ~/Public/Repositories/org-mode/lisp/ob-comint hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-comint ~/Public/Repositories/org-mode/lisp/ob-clojure hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-clojure ~/Public/Repositories/org-mode/lisp/ob-calc hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-calc ~/Public/Repositories/org-mode/lisp/ob-C hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-C ~/Public/Repositories/org-mode/lisp/ob-awk hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-awk ~/Public/Repositories/org-mode/lisp/ob-asymptote hides c:/Program Files (x86)/emacs-trunk/share/emacs/24.3.50/lisp/org/ob-asymptote Features: (shadow sort mail-extr gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime dig emacsbug sendmail helm-command helm-elisp helm-eval helm-mode eldoc edebug redshank skeleton paredit hideshow saveplace server auto-complete-config auto-complete popup vc-dispatcher vc-svn org-table git-commit vc-git org-id org-gnus gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader mail-utils org-habit org-agenda org-info org-element org-mime org-crypt ob-sql ob-sh ob-python ob-org ob-ledger ob-latex ob-gnuplot ob-dot ob-ditaa ob-calc calc-store calc-trail calc-ext calc calc-loaddefs calc-macs ob-awk ob-R appt diary-lib diary-loaddefs org-inlinetask mule-util org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs cal-menu calendar cal-loaddefs filecache image-file bookmark pp recentf tree-widget wid-edit ido helm-files image-dired whitespace flyspell ispell noutline outline tramp tramp-compat tramp-loaddefs trampver shell pcomplete format-spec ffap thingatpt helm-buffers helm-elscreen helm-tags helm-bookmark helm-adaptative helm-info helm-net browse-url xml url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source eieio byte-opt bytecomp byte-compile cconv eieio-core gnus-util mm-util mail-prsvr password-cache url-vars mailcap helm-plugin helm-locate helm-help helm-match-plugin helm-grep helm-regexp grep helm-external helm-utils dired-sort-map dired-single dired+ dired-x dired-aux dired compile comint ansi-color ring helm emacs-leuven leuven-theme yasnippet help-mode find-func paren mic-paren hl-tags-mode derived org-loaddefs uniquify helm-config helm-aliases diff-mode- easy-mmode edmacro kmacro idle-require finder-inf tex-site auto-complete-autoloads bbdb-autoloads gnuplot-mode-autoloads idle-require-autoloads info easymenu lcs-autoloads pager-autoloads rainbow-mode-autoloads tidy-autoloads tracking-autoloads shorten-autoloads package cl-macs gv advice help-fns cl cl-loaddefs cl-lib time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win w32-vars tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process w32notify w32 multi-tty emacs) -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 12 12:11:48 2013 Received: (at 15876) by debbugs.gnu.org; 12 Nov 2013 17:11:48 +0000 Received: from localhost ([127.0.0.1]:49048 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgHVD-0007X2-Jg for submit@debbugs.gnu.org; Tue, 12 Nov 2013 12:11:47 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:38940 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgHVA-0007Ws-OG for 15876@debbugs.gnu.org; Tue, 12 Nov 2013 12:11:45 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1VgHV9-0007aO-UU; Tue, 12 Nov 2013 12:11:43 -0500 From: Glenn Morris To: "Sebastien Vauban" Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 References: <867gcdiqji.fsf@somewhere.org> X-Spook: 22nd SAS clones secure Ruby Ridge New World Order X-Ran: [nH<2/f~2;~S=wPY:E46A>\>vvrqk9rVj X-Hue: white X-Debbugs-No-Ack: yes X-Attribution: GM Date: Tue, 12 Nov 2013 12:11:43 -0500 In-Reply-To: <867gcdiqji.fsf@somewhere.org> (Sebastien Vauban's message of "Tue, 12 Nov 2013 16:32:49 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) "Sebastien Vauban" wrote: > Having switched from Emacs 24.3.50.1 rev:114715 to rev:115006, I've [...] > Recent messages: > Unable to load color "unspecified-fg" <<< I don't know where it comes from! >From something that's already been fixed, IIRC, so probably best to update to the very latest trunk (you are 70+ revisions behind at time of writing) and do a clean build before spending much time on this. From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 12 14:13:30 2013 Received: (at 15876) by debbugs.gnu.org; 12 Nov 2013 19:13:30 +0000 Received: from localhost ([127.0.0.1]:49129 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgJP0-00023q-5u for submit@debbugs.gnu.org; Tue, 12 Nov 2013 14:13:30 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:18625 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgJOy-00023Z-Pm for 15876@debbugs.gnu.org; Tue, 12 Nov 2013 14:13:29 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.4.62]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 15DAB500F5C; Tue, 12 Nov 2013 20:15:56 +0100 (CET) From: "Sebastien Vauban" To: Glenn Morris Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban References: <867gcdiqji.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Tue, 12 Nov 2013 20:13:06 +0100 In-Reply-To: (Glenn Morris's message of "Tue, 12 Nov 2013 12:11:43 -0500") Message-ID: <86a9h95t8d.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Glenn Morris wrote: > "Sebastien Vauban" wrote: > >> Having switched from Emacs 24.3.50.1 rev:114715 to rev:115006, I've > [...] >> Recent messages: >> Unable to load color "unspecified-fg" <<< I don't know where it comes from! > > From something that's already been fixed, IIRC, so probably best to > update to the very latest trunk (you are 70+ revisions behind at time of > writing) and do a clean build before spending much time on this. Is that have something to do with the performance degradation? Anyway, I'm using Dani's binaries. See http://sourceforge.net/projects/emacs-bin/?source=directory. Currently, there is no newer one. Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 06:43:54 2013 Received: (at 15876) by debbugs.gnu.org; 13 Nov 2013 11:43:54 +0000 Received: from localhost ([127.0.0.1]:49693 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgYrR-0001B1-VH for submit@debbugs.gnu.org; Wed, 13 Nov 2013 06:43:54 -0500 Received: from mail-la0-f53.google.com ([209.85.215.53]:40087) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgYrQ-0001Aj-4B for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 06:43:53 -0500 Received: by mail-la0-f53.google.com with SMTP id ea20so233613lab.40 for <15876@debbugs.gnu.org>; Wed, 13 Nov 2013 03:43:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=NxmLrL8fsI9Ea7RjqxuQYs+m25CpQ63vxY2z9y9zKGk=; b=lWINVkRS1FEvU+/KINm/4Lc83Eus/C2vqYz/L7nSGUTeGhtiGZTIDFuaEaRK4NDjlP bYPkOJtJ/k5Wxvj+b3sTRCr7mXX6bySlfj96rl/LzllfqzJAqUjie/9WPQy5hvnLvMNE 0530Q9tz7ov++ukfoEsW9makucFpv+bOGaubcfEVUCU8QnO2yimwctpQfc4nMvon/ngv /Bnc39Za5j87WdmkfA6X00bNa5EFs7R0CVvVEW8MARnMZV3gQqR6PiXjpr/x9qlqlV6A mMDEbkX3jACueF7/XrxnXUJhBBSzPAkTvqWbgkOUbGeefBKJem1qejVa5bomwnUk5hKL FokA== MIME-Version: 1.0 X-Received: by 10.152.10.99 with SMTP id h3mr31797839lab.13.1384343025802; Wed, 13 Nov 2013 03:43:45 -0800 (PST) Received: by 10.114.176.231 with HTTP; Wed, 13 Nov 2013 03:43:45 -0800 (PST) In-Reply-To: <86a9h95t8d.fsf@somewhere.org> References: <867gcdiqji.fsf@somewhere.org> <86a9h95t8d.fsf@somewhere.org> Date: Wed, 13 Nov 2013 12:43:45 +0100 Message-ID: Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 From: Dani Moncayo To: Sebastien Vauban Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: Glenn Morris , 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > Anyway, I'm using Dani's binaries. See > http://sourceforge.net/projects/emacs-bin/?source=directory. > > Currently, there is no newer one. Yesterday I uploaded a new binary. However, I forgot to manually edit the file 'lisp/loadup.el' to set the value of 'emacs-bzr-version'. So in this binary that variable returns nothing. Perhaps it would be better to stop relying on that variable, and just use the timestamp, e.g.: (setq frame-title-format (format "Emacs %s of %s PID:%d" emacs-version (format-time-string "%Y-%m-%d" emacs-build-time) (emacs-pid))) -- Dani Moncayo From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 09:04:33 2013 Received: (at 15876) by debbugs.gnu.org; 13 Nov 2013 14:04:33 +0000 Received: from localhost ([127.0.0.1]:49737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgb3Z-0005j2-5m for submit@debbugs.gnu.org; Wed, 13 Nov 2013 09:04:33 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:17249 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgb3V-0005im-Tk for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 09:04:31 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.10.51]) by mail.missioncriticalit.com (Postfix) with ESMTPS id DCF315012E3; Wed, 13 Nov 2013 15:06:58 +0100 (CET) From: "Sebastien Vauban" To: Glenn Morris Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban References: <867gcdiqji.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Wed, 13 Nov 2013 15:04:06 +0100 In-Reply-To: (Sebastien Vauban's message of "Tue, 12 Nov 2013 20:13:06 +0100") Message-ID: <86fvr09z55.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Glenn Moris wrote: >> Best to update to the very latest trunk (you are 70+ revisions behind at >> time of writing) and do a clean build before spending much time on this. > > Is that have something to do with the performance degradation? I'm now using rev 115085 (of 2013-11-12), thanks to Dani. As for 115006, that version is almost unusable as some operations are so slow. See a comparative demo of rev 114715 and 115085 on http://screencast.com/t/ITwSR0Wrz. Problems: - Moving with C-up/down takes more time with latest Emacs, and uses up to 33% of my CPU (vs about 1% with rev 114715). - S-TAB'ing in an Org mode file takes 20s (vs 1s with rev 114715) and eats up to 33% of my CPU as well. Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 11:11:41 2013 Received: (at 15876) by debbugs.gnu.org; 13 Nov 2013 16:11:41 +0000 Received: from localhost ([127.0.0.1]:50291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgd2a-0000ZG-O8 for submit@debbugs.gnu.org; Wed, 13 Nov 2013 11:11:41 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:46183) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgd2Y-0000Z1-En for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 11:11:39 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MW700B00LUF6G00@a-mtaout20.012.net.il> for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 18:11:32 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MW700BVCMB68300@a-mtaout20.012.net.il>; Wed, 13 Nov 2013 18:11:31 +0200 (IST) Date: Wed, 13 Nov 2013 18:11:31 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <86fvr09z55.fsf@somewhere.org> X-012-Sender: halo1@inter.net.il To: Sebastien Vauban Message-id: <83fvr01du4.fsf@gnu.org> References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: rgm@gnu.org, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: "Sebastien Vauban" > Date: Wed, 13 Nov 2013 15:04:06 +0100 > Cc: 15876@debbugs.gnu.org > > - Moving with C-up/down takes more time with latest Emacs, and uses up to 33% > of my CPU (vs about 1% with rev 114715). > > - S-TAB'ing in an Org mode file takes 20s (vs 1s with rev 114715) and eats up > to 33% of my CPU as well. Try setting cache-long-scans to nil in your Org buffers, and see if that makes any change. If it does, then please report as a bug with some minimal reproduction recipe starting with "emacs -Q". From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 11:52:27 2013 Received: (at 15876) by debbugs.gnu.org; 13 Nov 2013 16:52:27 +0000 Received: from localhost ([127.0.0.1]:50371 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgdg2-0001fB-IZ for submit@debbugs.gnu.org; Wed, 13 Nov 2013 11:52:26 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:54475) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgdg0-0001f2-IP for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 11:52:25 -0500 Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id rADGqN0f016956; Wed, 13 Nov 2013 11:52:23 -0500 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id E4006B4071; Wed, 13 Nov 2013 11:52:22 -0500 (EST) From: Stefan Monnier To: "Sebastien Vauban" Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Message-ID: References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> Date: Wed, 13 Nov 2013 11:52:22 -0500 In-Reply-To: <86fvr09z55.fsf@somewhere.org> (Sebastien Vauban's message of "Wed, 13 Nov 2013 15:04:06 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4761=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4761> : inlines <217> : streams <1073100> : uri <1594186> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) > - Moving with C-up/down takes more time with latest Emacs, and uses up to 33% > of my CPU (vs about 1% with rev 114715). > - S-TAB'ing in an Org mode file takes 20s (vs 1s with rev 114715) and eats up > to 33% of my CPU as well. If you (setq cache-long-scans nil), does the performance problem disappear? Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 15:23:40 2013 Received: (at 15876) by debbugs.gnu.org; 13 Nov 2013 20:23:40 +0000 Received: from localhost ([127.0.0.1]:50562 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VggyR-0000u9-SH for submit@debbugs.gnu.org; Wed, 13 Nov 2013 15:23:40 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:60369 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VggyQ-0000tu-3I for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 15:23:39 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.4.62]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 166B3503A18; Wed, 13 Nov 2013 21:26:06 +0100 (CET) From: "Sebastien Vauban" To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> X-Url: Under construction... X-Archive: encrypt Date: Wed, 13 Nov 2013 21:23:14 +0100 In-Reply-To: <83fvr01du4.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 13 Nov 2013 18:11:31 +0200") Message-ID: <8638n0nj9p.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: rgm@gnu.org, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Eli Zaretskii wrote: >> From: "Sebastien Vauban" >> Date: Wed, 13 Nov 2013 15:04:06 +0100 >> Cc: 15876@debbugs.gnu.org >> >> - Moving with C-up/down takes more time with latest Emacs, and uses up to 33% >> of my CPU (vs about 1% with rev 114715). >> >> - S-TAB'ing in an Org mode file takes 20s (vs 1s with rev 114715) and eats up >> to 33% of my CPU as well. > > Try setting cache-long-scans to nil in your Org buffers, and see if > that makes any change. If it does, then please report as a bug with > some minimal reproduction recipe starting with "emacs -Q". It does not, as you can see in http://screencast.com/t/nBZ9VqyyW. There, I first try with the default setting, then eval your expression, and continue to move the cursor or S-TAB. Still the same long delays, and over-usage of the CPU. BTW, I was expecting it to be so, as I'm using a Git copy of Org [1] -- this was not said in my mail. Hence, if a change in Org was responsible for the problem, I *should* have it in both Emacs versions or not at all, no? Of course, would I use the Org built-in with Emacs, changing of Emacs version would mean also changing of Org version. But that's not my case. Best regards, Seb [1] Currently: Org-mode version 8.2.1 (release_8.2.1-202-gea797e.dirty @ ~/Public/Repositories/org-mode/lisp/). -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 15:35:22 2013 Received: (at 15876) by debbugs.gnu.org; 13 Nov 2013 20:35:22 +0000 Received: from localhost ([127.0.0.1]:50576 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgh9l-0001F1-2f for submit@debbugs.gnu.org; Wed, 13 Nov 2013 15:35:21 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:55918) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgh9i-0001Ed-1e for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 15:35:19 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MW700400YF9WP00@a-mtaout21.012.net.il> for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 22:35:11 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MW7004N3YINSP60@a-mtaout21.012.net.il>; Wed, 13 Nov 2013 22:35:11 +0200 (IST) Date: Wed, 13 Nov 2013 22:35:05 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <8638n0nj9p.fsf@somewhere.org> X-012-Sender: halo1@inter.net.il To: Sebastien Vauban Message-id: <838uws11mu.fsf@gnu.org> References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: rgm@gnu.org, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: "Sebastien Vauban" > Cc: rgm@gnu.org, 15876@debbugs.gnu.org > Date: Wed, 13 Nov 2013 21:23:14 +0100 > > Eli Zaretskii wrote: > >> From: "Sebastien Vauban" > >> Date: Wed, 13 Nov 2013 15:04:06 +0100 > >> Cc: 15876@debbugs.gnu.org > >> > >> - Moving with C-up/down takes more time with latest Emacs, and uses up to 33% > >> of my CPU (vs about 1% with rev 114715). > >> > >> - S-TAB'ing in an Org mode file takes 20s (vs 1s with rev 114715) and eats up > >> to 33% of my CPU as well. > > > > Try setting cache-long-scans to nil in your Org buffers, and see if > > that makes any change. If it does, then please report as a bug with > > some minimal reproduction recipe starting with "emacs -Q". > > It does not, as you can see in http://screencast.com/t/nBZ9VqyyW. Thanks. I expected that, but wanted to be sure. > BTW, I was expecting it to be so, as I'm using a Git copy of Org [1] -- this > was not said in my mail. Hence, if a change in Org was responsible for the > problem, I *should* have it in both Emacs versions or not at all, no? I was not talking about changes in Org. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 13 22:05:22 2013 Received: (at 15876) by debbugs.gnu.org; 14 Nov 2013 03:05:22 +0000 Received: from localhost ([127.0.0.1]:51044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgnFC-0002we-8Y for submit@debbugs.gnu.org; Wed, 13 Nov 2013 22:05:22 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:53081 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgnF9-0002wW-Tb for 15876@debbugs.gnu.org; Wed, 13 Nov 2013 22:05:20 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1VgnF8-0002um-U1; Wed, 13 Nov 2013 22:05:18 -0500 From: Glenn Morris To: "Sebastien Vauban" Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> X-Spook: 9/11 Bruxelles terrorist Khaddafi pink noise X-Ran: BQI7G'k}VVdmW38pJ@eytg:]oQE(?Z*1mG)aC^0NPT@qu6xSw<>}H?yXl@hk_^I@/B[.}\ X-Hue: magenta X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 13 Nov 2013 22:05:18 -0500 In-Reply-To: <8638n0nj9p.fsf@somewhere.org> (Sebastien Vauban's message of "Wed, 13 Nov 2013 21:23:14 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 15876 Cc: Eli Zaretskii , 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) "Sebastien Vauban" wrote: > BTW, I was expecting it to be so, as I'm using a Git copy of Org [1] -- this > was not said in my mail. Hence, if a change in Org was responsible for the > problem, I *should* have it in both Emacs versions or not at all, no? What this for sure would mean is that it is pointless to report it here, as opposed to the Org list. Although you originally said: > What's become slow: > - movements (, , etc.) in Org files > - movements (, , etc.) in mails > - maybe other stuff (not yet tested) I don't see how point 2 can be Org-related. But then I have no idea what setup you are using. If you think Emacs is generally slow, then please post a recipe starting from emacs -Q that shows the problem, preferably not involving Org (since it has many moving parts). If you think your git copy of Org has become slower, then talk to the Org mailing list. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 14 05:05:48 2013 Received: (at 15876) by debbugs.gnu.org; 14 Nov 2013 10:05:48 +0000 Received: from localhost ([127.0.0.1]:51412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgto4-0004yq-7d for submit@debbugs.gnu.org; Thu, 14 Nov 2013 05:05:48 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:42138 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgto2-0004yb-0U for 15876@debbugs.gnu.org; Thu, 14 Nov 2013 05:05:46 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.10.51]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 2D2115007CD; Thu, 14 Nov 2013 11:08:15 +0100 (CET) From: "Sebastien Vauban" To: Glenn Morris Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Thu, 14 Nov 2013 11:05:21 +0100 In-Reply-To: (Glenn Morris's message of "Wed, 13 Nov 2013 22:05:18 -0500") Message-ID: <86siuz9u3i.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: Eli Zaretskii , 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Glenn Morris wrote: > "Sebastien Vauban" wrote: > >> BTW, I was expecting it to be so, as I'm using a Git copy of Org [1] -- this >> was not said in my mail. Hence, if a change in Org was responsible for the >> problem, I *should* have it in both Emacs versions or not at all, no? > > What this for sure would mean is that it is pointless to report it here, > as opposed to the Org list. I know, I just wanted to write that explicitly. The problem is not Org related, even if it's more visible within Org. > Although you originally said: > >> What's become slow: >> - movements (, , etc.) in Org files >> - movements (, , etc.) in mails >> - maybe other stuff (not yet tested) > > I don't see how point 2 can be Org-related. It's not. See a comparative demo when moving point in a *Gnus summary buffer* on http://screencast.com/t/Qr5KxNgCYL. Every movement is much slower there. Though I don't use rev 115085 much because of those problems, I tried to bite the bullet and worked a bit more with it. I can tell you the problem is NOT general. For example, moving point inside a Java buffer is quick, as expected. Currently, I constantly observe the performance problem inside: - Org files, - Gnus summary buffers. I don't observe it in: - Java files, - Gnus group buffer, - Org files (when major mode is changed to `text'). > But then I have no idea what setup you are using. > > If you think Emacs is generally slow, then please post a recipe > starting from emacs -Q that shows the problem, preferably not involving > Org (since it has many moving parts). I'll try to do that later today. But it seems it won't be obvious, as the only spots where I observed them are Org and Gnus, and I guess you'd like not having any of these two enabled in the recipe. Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 14 06:04:04 2013 Received: (at 15876) by debbugs.gnu.org; 14 Nov 2013 11:04:04 +0000 Received: from localhost ([127.0.0.1]:51459 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VguiR-0006RZ-J0 for submit@debbugs.gnu.org; Thu, 14 Nov 2013 06:04:03 -0500 Received: from smtpo11.poczta.onet.pl ([213.180.142.142]:47580) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VguiO-0006R4-JB for 15876@debbugs.gnu.org; Thu, 14 Nov 2013 06:04:02 -0500 Received: from [192.168.17.9] (cj.e-siemianowice.pl [95.215.234.30]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: jarekczek@poczta.onet.pl) by smtp.poczta.onet.pl (Onet) with ESMTPSA id 3dL0Dp02DPz9ttV4 for <15876@debbugs.gnu.org>; Thu, 14 Nov 2013 12:03:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poczta.onet.pl; s=2011; t=1384427034; bh=P6B5CSoi6LA+UlyqWyAqY7khzs4Q1E5C8HB5kMe7BoU=; h=Message-ID:Date:From:MIME-Version:To:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=oN73KIl/K+McviYuborDvp/IWz2mFdfUOriOGZ7UhkWNeyByv37VN1+AK+Rs4/wgI 9zfBqszJfXUhvT7w2CN3JcUIXZYH+Z7EvhaSTOOnIxN3K8lTd/Ht4WI7I2T2Mu5kUa MfgSKFyPcQ6HSMIyNMB4hn5yW1A7eS76TsSu2HgU= Message-ID: <5284AE19.3090401@poczta.onet.pl> Date: Thu, 14 Nov 2013 12:03:53 +0100 From: Jarek Czekalski User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120824 Thunderbird/15.0 MIME-Version: 1.0 To: 15876@debbugs.gnu.org Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 References: <867gcdiqji.fsf@somewhere.org> In-Reply-To: <867gcdiqji.fsf@somewhere.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15876 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) W dniu 2013-11-12 16:32, Sebastien Vauban pisze: > Configured using: > `configure --enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1' I guess these flags are not present in the production versions of Emacs. But maybe this is not so important. Jarek From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 14 11:36:00 2013 Received: (at 15876) by debbugs.gnu.org; 14 Nov 2013 16:36:00 +0000 Received: from localhost ([127.0.0.1]:52302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgztf-0007aQ-TC for submit@debbugs.gnu.org; Thu, 14 Nov 2013 11:36:00 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:48767) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgztc-0007aA-9s for 15876@debbugs.gnu.org; Thu, 14 Nov 2013 11:35:57 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MW900L00HXSX000@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Thu, 14 Nov 2013 18:35:31 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MW900LBWI37QP70@a-mtaout22.012.net.il>; Thu, 14 Nov 2013 18:35:31 +0200 (IST) Date: Thu, 14 Nov 2013 18:35:16 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <5284AE19.3090401@poczta.onet.pl> X-012-Sender: halo1@inter.net.il To: Jarek Czekalski Message-id: <83txffym9n.fsf@gnu.org> References: <867gcdiqji.fsf@somewhere.org> <5284AE19.3090401@poczta.onet.pl> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 14 Nov 2013 12:03:53 +0100 > From: Jarek Czekalski > > W dniu 2013-11-12 16:32, Sebastien Vauban pisze: > > Configured using: > > `configure --enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1' > > I guess these flags are not present in the production versions of Emacs. > But maybe this is not so important. These flags cannot cause such a painful degradation. They might explain something like twofold slowdown, but not what is being described here. (FWIW, I always compile the trunk with the above flags, so I would sense the slowdown immediately.) From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 14 12:04:35 2013 Received: (at 15876) by debbugs.gnu.org; 14 Nov 2013 17:04:35 +0000 Received: from localhost ([127.0.0.1]:52357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vh0LK-0000zF-Fa for submit@debbugs.gnu.org; Thu, 14 Nov 2013 12:04:34 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:41098 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vh0LI-0000z7-77 for 15876@debbugs.gnu.org; Thu, 14 Nov 2013 12:04:32 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Vh0LG-0007lp-EN; Thu, 14 Nov 2013 12:04:31 -0500 From: Glenn Morris To: "Sebastien Vauban" Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> <86ob5n9tqq.fsf@somewhere.org> X-Spook: HAMASMOIS subversive Medco bullion bluebird Mossad Saddam X-Ran: 3!f,RQ]x~al7#M3Q@=bd$CXBYHc@2$gj'1Q!,6`=\`D'mz__nQdttUdpXaSSsw6;HE>|Fi X-Hue: yellow X-Debbugs-No-Ack: yes X-Attribution: GM Date: Thu, 14 Nov 2013 12:04:29 -0500 In-Reply-To: <86ob5n9tqq.fsf@somewhere.org> (Sebastien Vauban's message of "Thu, 14 Nov 2013 11:13:01 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) "Sebastien Vauban" wrote: > Even if the problem is not related to Org (as it is also present in Gnus > summary buffers), point 2 could be Org-related, as many Org users (me included) > do have orgtbl, orgstruct-mode or orgstruct++ enabled when composing mails: You can't expect us to know these things unless you tell us. Also, please don't post via the newsgroup, since it bypasses the bug tracker. (I think I've said this before.) Use Gmane if you really want a news interface to this list. From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 19 17:52:52 2013 Received: (at 15876) by debbugs.gnu.org; 19 Nov 2013 22:52:52 +0000 Received: from localhost ([127.0.0.1]:33736 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ViuA7-0001Bh-Ho for submit@debbugs.gnu.org; Tue, 19 Nov 2013 17:52:51 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:3829 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ViuA5-0001BQ-4k for 15876@debbugs.gnu.org; Tue, 19 Nov 2013 17:52:49 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.4.62]) by mail.missioncriticalit.com (Postfix) with ESMTPS id D16375001A3; Tue, 19 Nov 2013 23:55:17 +0100 (CET) From: "Sebastien Vauban" To: Glenn Morris Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Tue, 19 Nov 2013 23:52:18 +0100 In-Reply-To: (Sebastien Vauban's message of "Thu, 14 Nov 2013 11:05:21 +0100") Message-ID: <86y54kvwbh.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) "Sebastien Vauban" wrote: > Glenn Morris wrote: >> "Sebastien Vauban" wrote: > > The problem is not Org related, even if it's more visible within Org. > >>> What's become slow: >>> - movements (, , etc.) in Org files >>> - movements (, , etc.) in mails >>> - maybe other stuff (not yet tested) > > Though I don't use rev 115085 much because of those problems, I tried to bite > the bullet and worked a bit more with it. > >> If you think Emacs is generally slow, then please post a recipe starting >> from emacs -Q that shows the problem, preferably not involving Org (since it >> has many moving parts). > > I'll try to do that later today. But it seems it won't be obvious, as the > only spots where I observed them are Org and Gnus, and I guess you'd like not > having any of these two enabled in the recipe. I don't have yet a minimized Emacs configuration file, but I already can tell that, in my full .emacs file, disabling the following line does solve the problem! --8<---------------cut here---------------start------------->8--- ;; highlight trailing whitespaces in all modes (setq-default show-trailing-whitespace t) --8<---------------cut here---------------end--------------->8--- So, it seems to conflict with something else from my .emacs -- still have to find what. Does the above ring a bell? Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 19 20:48:02 2013 Received: (at 15876) by debbugs.gnu.org; 20 Nov 2013 01:48:02 +0000 Received: from localhost ([127.0.0.1]:33819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Viwtc-0005Xi-Oc for submit@debbugs.gnu.org; Tue, 19 Nov 2013 20:48:02 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:28163) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Viwta-0005XR-JN for 15876@debbugs.gnu.org; Tue, 19 Nov 2013 20:47:59 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFHO+KWN/2dsb2JhbABEuzWDWRdzgh8BBScvIxALDiYSFBgNJIgksR+QDpEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFHO+KWN/2dsb2JhbABEuzWDWRdzgh8BBScvIxALDiYSFBgNJIgksR+QDpEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="38679347" Received: from 206-248-165-141.dsl.teksavvy.com (HELO pastel.home) ([206.248.165.141]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 19 Nov 2013 20:47:52 -0500 Received: by pastel.home (Postfix, from userid 20848) id 14C6860424; Tue, 19 Nov 2013 20:47:52 -0500 (EST) From: Stefan Monnier To: "Sebastien Vauban" Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Message-ID: References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> <86y54kvwbh.fsf@somewhere.org> Date: Tue, 19 Nov 2013 20:47:52 -0500 In-Reply-To: <86y54kvwbh.fsf@somewhere.org> (Sebastien Vauban's message of "Tue, 19 Nov 2013 23:52:18 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15876 Cc: Glenn Morris , 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > --8<---------------cut here---------------start------------->8--- > ;; highlight trailing whitespaces in all modes > (setq-default show-trailing-whitespace t) > --8<---------------cut here---------------end--------------->8--- Can you try to compare the performance of revision 114849 and revision 114848? The difference between the two is that the region highlighting was moved from C to Elisp. This usually shouldn't affect performance, but maybe there's some interaction with redisplay that ends up disabling most optimizations? Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 19 22:48:53 2013 Received: (at 15876) by debbugs.gnu.org; 20 Nov 2013 03:48:53 +0000 Received: from localhost ([127.0.0.1]:33896 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Viymb-0000B0-1d for submit@debbugs.gnu.org; Tue, 19 Nov 2013 22:48:53 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:38296) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ViymW-0000Ab-PU for 15876@debbugs.gnu.org; Tue, 19 Nov 2013 22:48:49 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MWJ00G00MI7ZW00@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Wed, 20 Nov 2013 05:48:41 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MWJ00GN5ML5U560@a-mtaout22.012.net.il>; Wed, 20 Nov 2013 05:48:41 +0200 (IST) Date: Wed, 20 Nov 2013 05:48:40 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <86y54kvwbh.fsf@somewhere.org> X-012-Sender: halo1@inter.net.il To: Sebastien Vauban Message-id: <83eh6bg2cn.fsf@gnu.org> References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> <86y54kvwbh.fsf@somewhere.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: rgm@gnu.org, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: "Sebastien Vauban" > Date: Tue, 19 Nov 2013 23:52:18 +0100 > Cc: 15876@debbugs.gnu.org > > I don't have yet a minimized Emacs configuration file, but I already can tell > that, in my full .emacs file, disabling the following line does solve the > problem! > > --8<---------------cut here---------------start------------->8--- > ;; highlight trailing whitespaces in all modes > (setq-default show-trailing-whitespace t) > --8<---------------cut here---------------end--------------->8--- > > So, it seems to conflict with something else from my .emacs -- still have to > find what. > > Does the above ring a bell? If you enable show-trailing-whitespace only in a few modes (via a mode hook), does the performance problem remain only in those modes and disappear in others? From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 19 22:53:48 2013 Received: (at 15876) by debbugs.gnu.org; 20 Nov 2013 03:53:48 +0000 Received: from localhost ([127.0.0.1]:33909 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ViyrM-0000In-46 for submit@debbugs.gnu.org; Tue, 19 Nov 2013 22:53:48 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:54322) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ViyrI-0000IX-Bm for 15876@debbugs.gnu.org; Tue, 19 Nov 2013 22:53:45 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MWJ00I00MIBLX00@a-mtaout23.012.net.il> for 15876@debbugs.gnu.org; Wed, 20 Nov 2013 05:53:38 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MWJ00IQJMTDL340@a-mtaout23.012.net.il>; Wed, 20 Nov 2013 05:53:38 +0200 (IST) Date: Wed, 20 Nov 2013 05:53:36 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <83d2lvg24f.fsf@gnu.org> References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> <86y54kvwbh.fsf@somewhere.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Date: Tue, 19 Nov 2013 20:47:52 -0500 > Cc: 15876@debbugs.gnu.org > > > --8<---------------cut here---------------start------------->8--- > > ;; highlight trailing whitespaces in all modes > > (setq-default show-trailing-whitespace t) > > --8<---------------cut here---------------end--------------->8--- > > Can you try to compare the performance of revision 114849 and > revision 114848? The difference between the two is that the region > highlighting was moved from C to Elisp. This usually shouldn't affect > performance, but maybe there's some interaction with redisplay > that ends up disabling most optimizations? The old region highlighting code was also an optimization killer. Besides, no disabled optimizations should ever have such a terrible effect. It's most probably a bug. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 20 03:49:23 2013 Received: (at 15876) by debbugs.gnu.org; 20 Nov 2013 08:49:24 +0000 Received: from localhost ([127.0.0.1]:34081 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vj3TP-0007mO-H8 for submit@debbugs.gnu.org; Wed, 20 Nov 2013 03:49:23 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:1058 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vj3TM-0007m9-Sv for 15876@debbugs.gnu.org; Wed, 20 Nov 2013 03:49:21 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.10.51]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 6D93F500A0D; Wed, 20 Nov 2013 09:51:50 +0100 (CET) From: "Sebastien Vauban" To: Stefan Monnier Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> <86y54kvwbh.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Wed, 20 Nov 2013 09:48:48 +0100 In-Reply-To: (Stefan Monnier's message of "Tue, 19 Nov 2013 20:47:52 -0500") Message-ID: <8638mr4fwv.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Stefan Monnier wrote: >> --8<---------------cut here---------------start------------->8--- >> ;; highlight trailing whitespaces in all modes >> (setq-default show-trailing-whitespace t) >> --8<---------------cut here---------------end--------------->8--- > > Can you try to compare the performance of revision 114849 and > revision 114848? The difference between the two is that the region > highlighting was moved from C to Elisp. This usually shouldn't affect > performance, but maybe there's some interaction with redisplay > that ends up disabling most optimizations? I can compare such versions, if I can find the Windows binaries somewhere. I don't have the ability to construct it by myself -- yet. Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 20 17:33:19 2013 Received: (at 15876) by debbugs.gnu.org; 20 Nov 2013 22:33:19 +0000 Received: from localhost ([127.0.0.1]:35342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VjGKl-00078b-DP for submit@debbugs.gnu.org; Wed, 20 Nov 2013 17:33:19 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:38413 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VjGKj-00078F-Ib for 15876@debbugs.gnu.org; Wed, 20 Nov 2013 17:33:18 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.4.62]) by mail.missioncriticalit.com (Postfix) with ESMTPS id D537850022B; Wed, 20 Nov 2013 23:35:46 +0100 (CET) From: "Sebastien Vauban" To: Glenn Morris , 15876@debbugs.gnu.org Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Wed, 20 Nov 2013 23:32:44 +0100 In-Reply-To: (Sebastien Vauban's message of "Tue, 19 Nov 2013 23:52:18 +0100") Message-ID: <86bo1eaelv.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) "Sebastien Vauban" wrote: > "Sebastien Vauban" wrote: >> Glenn Morris wrote: >>> "Sebastien Vauban" wrote: >> >> Though I don't use rev 115085 much because of those problems, I tried to bite >> the bullet and worked a bit more with it. >> >>> If you think Emacs is generally slow, then please post a recipe starting >>> from emacs -Q that shows the problem, preferably not involving Org (since it >>> has many moving parts). >> >> I'll try to do that later today. But it seems it won't be obvious, as the >> only spots where I observed them are Org and Gnus, and I guess you'd like not >> having any of these two enabled in the recipe. > > I don't have yet a minimized Emacs configuration file, but I already can tell > that, in my full .emacs file, disabling the following line does solve the > problem! > > ;; highlight trailing whitespaces in all modes > (setq-default show-trailing-whitespace t) > > So, it seems to conflict with something else from my .emacs -- still have to > find what. The following item that makes the problem happen (or not, depending whether commented out) is: --8<---------------cut here---------------start------------->8--- ;; ellipsis to use in the Org mode outline (setq org-ellipsis " \u25B7") ; white triangle --8<---------------cut here---------------end--------------->8--- Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 20 22:43:08 2013 Received: (at 15876) by debbugs.gnu.org; 21 Nov 2013 03:43:08 +0000 Received: from localhost ([127.0.0.1]:35592 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VjLAZ-0000ME-KN for submit@debbugs.gnu.org; Wed, 20 Nov 2013 22:43:07 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:34288) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VjLAV-0000Lg-7B for 15876@debbugs.gnu.org; Wed, 20 Nov 2013 22:43:04 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MWL00M00GKSP900@a-mtaout23.012.net.il> for 15876@debbugs.gnu.org; Thu, 21 Nov 2013 05:42:56 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MWL00MQTGZJPB10@a-mtaout23.012.net.il>; Thu, 21 Nov 2013 05:42:56 +0200 (IST) Date: Thu, 21 Nov 2013 05:42:57 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <86bo1eaelv.fsf@somewhere.org> X-012-Sender: halo1@inter.net.il To: Sebastien Vauban Message-id: <83r4aae7y6.fsf@gnu.org> References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> <86bo1eaelv.fsf@somewhere.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: rgm@gnu.org, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: "Sebastien Vauban" > Date: Wed, 20 Nov 2013 23:32:44 +0100 > > "Sebastien Vauban" wrote: > > "Sebastien Vauban" wrote: > >> Glenn Morris wrote: > >>> "Sebastien Vauban" wrote: > >> > >> Though I don't use rev 115085 much because of those problems, I tried to bite > >> the bullet and worked a bit more with it. > >> > >>> If you think Emacs is generally slow, then please post a recipe starting > >>> from emacs -Q that shows the problem, preferably not involving Org (since it > >>> has many moving parts). > >> > >> I'll try to do that later today. But it seems it won't be obvious, as the > >> only spots where I observed them are Org and Gnus, and I guess you'd like not > >> having any of these two enabled in the recipe. > > > > I don't have yet a minimized Emacs configuration file, but I already can tell > > that, in my full .emacs file, disabling the following line does solve the > > problem! > > > > ;; highlight trailing whitespaces in all modes > > (setq-default show-trailing-whitespace t) > > > > So, it seems to conflict with something else from my .emacs -- still have to > > find what. > > The following item that makes the problem happen (or not, depending whether > commented out) is: > > --8<---------------cut here---------------start------------->8--- > ;; ellipsis to use in the Org mode outline > (setq org-ellipsis " \u25B7") ; white triangle > --8<---------------cut here---------------end--------------->8--- So what is the minimum .emacs that will cause the problem? From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 26 15:52:48 2013 Received: (at 15876) by debbugs.gnu.org; 26 Nov 2013 20:52:48 +0000 Received: from localhost ([127.0.0.1]:46472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VlPcl-0000Iz-Fg for submit@debbugs.gnu.org; Tue, 26 Nov 2013 15:52:47 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:32836 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VlPcj-0000Il-LO for 15876@debbugs.gnu.org; Tue, 26 Nov 2013 15:52:46 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.4.62]) by mail.missioncriticalit.com (Postfix) with ESMTPS id C4AA950012A; Tue, 26 Nov 2013 21:55:15 +0100 (CET) From: "Sebastien Vauban" To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban References: <867gcdiqji.fsf@somewhere.org> <86fvr09z55.fsf@somewhere.org> <83fvr01du4.fsf@gnu.org> <8638n0nj9p.fsf@somewhere.org> <86bo1eaelv.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Tue, 26 Nov 2013 21:52:05 +0100 In-Reply-To: (Eli Zaretskii's message of "Thu, 21 Nov 2013 05:42:57 +0200") Message-ID: <86r4a2vqbu.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Eli Zaretskii wrote: >> From: "Sebastien Vauban" >> Date: Wed, 20 Nov 2013 23:32:44 +0100 >> >> "Sebastien Vauban" wrote: >> > "Sebastien Vauban" wrote: >> >> Glenn Morris wrote: >> >>> "Sebastien Vauban" wrote: >> >> >> >> Though I don't use rev 115085 much because of those problems, I tried to bite >> >> the bullet and worked a bit more with it. >> >> >> >>> If you think Emacs is generally slow, then please post a recipe starting >> >>> from emacs -Q that shows the problem, preferably not involving Org (since it >> >>> has many moving parts). >> >> >> >> I'll try to do that later today. But it seems it won't be obvious, as the >> >> only spots where I observed them are Org and Gnus, and I guess you'd like not >> >> having any of these two enabled in the recipe. >> > >> > I don't have yet a minimized Emacs configuration file, but I already can tell >> > that, in my full .emacs file, disabling the following line does solve the >> > problem! >> > >> > ;; highlight trailing whitespaces in all modes >> > (setq-default show-trailing-whitespace t) >> > >> > So, it seems to conflict with something else from my .emacs -- still have to >> > find what. >> >> The following item that makes the problem happen (or not, depending whether >> commented out) is: >> >> --8<---------------cut here---------------start------------->8--- >> ;; ellipsis to use in the Org mode outline >> (setq org-ellipsis " \u25B7") ; white triangle >> --8<---------------cut here---------------end--------------->8--- > > So what is the minimum .emacs that will cause the problem? That does it: --8<---------------cut here---------------start------------->8--- ;; highlight trailing whitespaces in all modes (setq-default show-trailing-whitespace t) (setq org-ellipsis " \u25B7") ; string --8<---------------cut here---------------end--------------->8--- Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 26 16:04:08 2013 Received: (at 15876) by debbugs.gnu.org; 26 Nov 2013 21:04:08 +0000 Received: from localhost ([127.0.0.1]:46478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VlPnk-0000bl-06 for submit@debbugs.gnu.org; Tue, 26 Nov 2013 16:04:08 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:62200) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VlPnh-0000bA-A3 for 15876@debbugs.gnu.org; Tue, 26 Nov 2013 16:04:06 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MWW00L002CO7T00@a-mtaout23.012.net.il> for 15876@debbugs.gnu.org; Tue, 26 Nov 2013 23:03:58 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MWW00LH32IM7I20@a-mtaout23.012.net.il>; Tue, 26 Nov 2013 23:03:58 +0200 (IST) Date: Tue, 26 Nov 2013 23:04:16 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <86r4a2vqbu.fsf@somewhere.org> X-012-Sender: halo1@inter.net.il To: Sebastien Vauban Message-id: <83haayan8v.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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: "Sebastien Vauban" > Cc: 15876@debbugs.gnu.org > Date: Tue, 26 Nov 2013 21:52:05 +0100 > > > So what is the minimum .emacs that will cause the problem? > > That does it: > > --8<---------------cut here---------------start------------->8--- > ;; highlight trailing whitespaces in all modes > (setq-default show-trailing-whitespace t) > > (setq org-ellipsis " \u25B7") ; string > --8<---------------cut here---------------end--------------->8--- And this makes Emacs slow in scrolling for any file you visit? Or just in Org buffers? If the latter, perhaps your Org files are special in some way, because the ones I tried don't show any slowdown I could sense. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 29 16:01:56 2013 Received: (at 15876) by debbugs.gnu.org; 29 Nov 2013 21:01:56 +0000 Received: from localhost ([127.0.0.1]:50599 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VmVCF-0001lr-K2 for submit@debbugs.gnu.org; Fri, 29 Nov 2013 16:01:56 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:20161 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VmVCC-0001ld-Go for 15876@debbugs.gnu.org; Fri, 29 Nov 2013 16:01:53 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.4.62]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 19A3B500CD2; Fri, 29 Nov 2013 22:04:23 +0100 (CET) From: "Sebastien Vauban" To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban 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> X-Url: Under construction... X-Archive: encrypt Date: Fri, 29 Nov 2013 22:01:10 +0100 In-Reply-To: (Eli Zaretskii's message of "Tue, 26 Nov 2013 23:04:16 +0200") Message-ID: <867gbqdisp.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Eli Zaretskii wrote: >> From: "Sebastien Vauban" >> Cc: 15876@debbugs.gnu.org >> Date: Tue, 26 Nov 2013 21:52:05 +0100 >> >> > So what is the minimum .emacs that will cause the problem? >> >> That does it: >> >> --8<---------------cut here---------------start------------->8--- >> ;; highlight trailing whitespaces in all modes >> (setq-default show-trailing-whitespace t) >> >> (setq org-ellipsis " \u25B7") ; string >> --8<---------------cut here---------------end--------------->8--- > > And this makes Emacs slow in scrolling for any file you visit? Or > just in Org buffers? No problem, with the same files, if I put them in `text-mode'. So, it becomes apparent with Org. Remember I told there were similar speed problems with some Gnus buffer, but I haven't tested them again. > If the latter, perhaps your Org files are special in some way, because > the ones I tried don't show any slowdown I could sense. They aren't special, for two reasons: - They're not mine; they're public Org files taken from the Worg project ("Wiki Org"). - They work perfectly in Emacs rev 114715: no performance degradation whatsoever. For the sake of clarity, I've redone a comparison of the two different Emacs (r114715 and the recent r115235) on the same two Org files: - ChangeLog.org (1,156 bytes) http://code.ohloh.net/file?fid=s6NzuuiKK0Nlga9EF-Vh8KzVXiw&cid=SNfK_pTfQmo&s=&fp=19410&mp=&projSelected=true#L0 - org-faq.org (164,174 bytes) http://code.ohloh.net/file?fid=Jk4U4mwQtJT_5LfYpl3sBLhj42s&cid=SNfK_pTfQmo&s=&fp=19410&mp=&projSelected=true#L0 Just look at the CPU usage, and see how the cursor moves slowly -- while I press on the arrows at the same speed in both configs. See http://screencast.com/t/oHIPTP0eAW. For the records, my .emacs is really tiny, as you can see: --8<---------------cut here---------------start------------->8--- ;; highlight trailing whitespaces in all modes (setq-default show-trailing-whitespace t) (setq org-ellipsis " \u25B7") ; string ;; title bar display of visible frames (setq frame-title-format (format "Emacs %s rev:%s of %s PID:%d" ;; (capitalize (symbol-name system-type)) emacs-version (ignore-errors (replace-regexp-in-string " .*" "" emacs-bzr-version)) (format-time-string "%Y-%m-%d" emacs-build-time) (emacs-pid))) --8<---------------cut here---------------end--------------->8--- Please don't tell me nobody can reproduce this problem!? Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 01 11:32:08 2013 Received: (at 15876) by debbugs.gnu.org; 1 Dec 2013 16:32:08 +0000 Received: from localhost ([127.0.0.1]:53369 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vn9wF-0007XE-TJ for submit@debbugs.gnu.org; Sun, 01 Dec 2013 11:32:08 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:57500) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vn9wC-0007Wb-4c for 15876@debbugs.gnu.org; Sun, 01 Dec 2013 11:32:05 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MX400M00Z3MER00@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Sun, 01 Dec 2013 18:31:57 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MX400M5VZ9737B0@a-mtaout22.012.net.il>; Sun, 01 Dec 2013 18:31:55 +0200 (IST) Date: Sun, 01 Dec 2013 18:31:51 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <867gbqdisp.fsf@somewhere.org> X-012-Sender: halo1@inter.net.il To: Sebastien Vauban , Dmitry Antipov Message-id: <83haas5y88.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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: "Sebastien Vauban" > Cc: 15876@debbugs.gnu.org > Date: Fri, 29 Nov 2013 22:01:10 +0100 > > Eli Zaretskii wrote: > >> From: "Sebastien Vauban" > >> Cc: 15876@debbugs.gnu.org > >> Date: Tue, 26 Nov 2013 21:52:05 +0100 > >> > >> > So what is the minimum .emacs that will cause the problem? > >> > >> That does it: > >> > >> --8<---------------cut here---------------start------------->8--- > >> ;; highlight trailing whitespaces in all modes > >> (setq-default show-trailing-whitespace t) > >> > >> (setq org-ellipsis " \u25B7") ; string > >> --8<---------------cut here---------------end--------------->8--- > > > > And this makes Emacs slow in scrolling for any file you visit? Or > > just in Org buffers? > > No problem, with the same files, if I put them in `text-mode'. So, it becomes > apparent with Org. > > Remember I told there were similar speed problems with some Gnus buffer, but I > haven't tested them again. > > > If the latter, perhaps your Org files are special in some way, because > > the ones I tried don't show any slowdown I could sense. > > They aren't special, for two reasons: > > - They're not mine; they're public Org files taken from the Worg project ("Wiki > Org"). > > - They work perfectly in Emacs rev 114715: no performance degradation > whatsoever. > > For the sake of clarity, I've redone a comparison of the two different Emacs > (r114715 and the recent r115235) on the same two Org files: > > - ChangeLog.org (1,156 bytes) > http://code.ohloh.net/file?fid=s6NzuuiKK0Nlga9EF-Vh8KzVXiw&cid=SNfK_pTfQmo&s=&fp=19410&mp=&projSelected=true#L0 > > - org-faq.org (164,174 bytes) > http://code.ohloh.net/file?fid=Jk4U4mwQtJT_5LfYpl3sBLhj42s&cid=SNfK_pTfQmo&s=&fp=19410&mp=&projSelected=true#L0 I looked at this issue. It has nothing to do with org-ellipsis, or the Org mode in general. To reproduce it, it's enough to do just this: emacs -Q C-x 8 RET 25b7 RET Now try moving the cursor across the line that displays the triangle character u+25B7. If you are on Windows 7, this will use the BatangChe font for the triangle, and every redisplay operation, even cursor motion, will be extremely slow. (On XP, this font is not installed, and even if I install it, I'm unable to trigger the same problem, for some reason.) This slowdown seems to be caused by this commit: revno: 114735 committer: Dmitry Antipov branch nick: trunk timestamp: Mon 2013-10-21 14:11:25 +0000 message: Do not allow font caches to grow too large. * alloc.c (compact_font_cache_entry, compact_font_caches): New functions or stub if not HAVE_WINDOW_SYSTEM. (compact_undo_list): Factor out from Fgarbage_collect. Add comment. (mark_face_cache): Mark face font. Move down to avoid extra prototypes. (mark_terminals): Do not mark font cache here. (Fgarbage_collect): Call compaction functions described above. Adjust comment. What happens is that the above-mentioned font causes a lot of consing, when loaded (perhaps because it supports many different Unicode blocks). That triggers GC immediately after redisplay; GC calls compact_font_caches, which for some reason decides that the font-specs in the font cache can be removed. Then the next redisplay needs the deleted font again, so it again loads it, which causes consing, which triggers GC, etc. etc. If I disable the compacting, like this: static void compact_font_caches (void) { struct terminal *t; for (t = terminal_list; t; t = t->next_terminal) { Lisp_Object cache = TERMINAL_FONT_CACHE (t); #if 0 if (CONSP (cache)) { Lisp_Object entry; for (entry = XCDR (cache); CONSP (entry); entry = XCDR (entry)) XSETCAR (entry, compact_font_cache_entry (XCAR (entry))); } #endif mark_object (cache); } } then the problem goes away. Dmitry, can you please look into this? I'm not familiar enough with the font stuff, so I don't see how was the font-spec and its font-entities stored in the font cache supposed to be referenced from some other Lisp object, to make sure they are marked and not GC'ed. In any case, it seems like they are never marked on Windows, because if I set a breakpoint in the line marked below: /* If font-spec is not marked, most likely all font-entities are not marked too. But we must be sure that nothing is marked within OBJ before we really drop it. */ for (i = 0; i < size; i++) if (VECTOR_MARKED_P (XFONT_ENTITY (AREF (XCDR (obj), i)))) break; if (i == size) <<<<<<<<<<<<<<<<<<<<< drop = 1; } with a condition i != size, that breakpoint never breaks. If you see something different on X, please tell which code is responsible for marking those font-entities and/or the font-spec's in the font cache. (I guess you meant mark_face_cache to do that, but it marks fonts, not font-entities or font-spec's.) From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 01 15:21:19 2013 Received: (at 15876) by debbugs.gnu.org; 1 Dec 2013 20:21:19 +0000 Received: from localhost ([127.0.0.1]:53544 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnDW2-0004ZN-Jv for submit@debbugs.gnu.org; Sun, 01 Dec 2013 15:21:18 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:1481 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnDW0-0004Z9-BX for 15876@debbugs.gnu.org; Sun, 01 Dec 2013 15:21:17 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.4.62]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 676E3500A2D; Sun, 1 Dec 2013 21:23:46 +0100 (CET) From: "Sebastien Vauban" To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban 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> X-Url: Under construction... X-Archive: encrypt Date: Sun, 01 Dec 2013 21:20:31 +0100 In-Reply-To: (Eli Zaretskii's message of "Sun, 01 Dec 2013 18:31:51 +0200") Message-ID: <861u1w492o.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org, Dmitry Antipov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Eli Zaretskii wrote: >> From: "Sebastien Vauban" >> Cc: 15876@debbugs.gnu.org >> Date: Fri, 29 Nov 2013 22:01:10 +0100 >>=20 >> Eli Zaretskii wrote: >> >> From: "Sebastien Vauban" >> >> Cc: 15876@debbugs.gnu.org >> >> Date: Tue, 26 Nov 2013 21:52:05 +0100 >> >>=20 >> >> > So what is the minimum .emacs that will cause the problem? >> >>=20 >> >> That does it: >> >>=20 >> >> --8<---------------cut here---------------start------------->8--- >> >> ;; highlight trailing whitespaces in all modes >> >> (setq-default show-trailing-whitespace t) >> >>=20 >> >> (setq org-ellipsis " \u25B7") ; string >> >> --8<---------------cut here---------------end--------------->8--- >> > >> > And this makes Emacs slow in scrolling for any file you visit? Or >> > just in Org buffers? >>=20 >> No problem, with the same files, if I put them in `text-mode'. So, it be= comes >> apparent with Org. >>=20 >> Remember I told there were similar speed problems with some Gnus buffer,= but I >> haven't tested them again. >>=20 >> > If the latter, perhaps your Org files are special in some way, because >> > the ones I tried don't show any slowdown I could sense. >>=20 >> They aren't special, for two reasons: >>=20 >> - They're not mine; they're public Org files taken from the Worg project= ("Wiki >> Org"). >>=20 >> - They work perfectly in Emacs rev 114715: no performance degradation >> whatsoever. >>=20 >> For the sake of clarity, I've redone a comparison of the two different E= macs >> (r114715 and the recent r115235) on the same two Org files: >>=20 >> - ChangeLog.org (1,156 bytes) >> http://code.ohloh.net/file?fid=3Ds6NzuuiKK0Nlga9EF-Vh8KzVXiw&cid=3DSNf= K_pTfQmo&s=3D&fp=3D19410&mp=3D&projSelected=3Dtrue#L0 >>=20 >> - org-faq.org (164,174 bytes) >> http://code.ohloh.net/file?fid=3DJk4U4mwQtJT_5LfYpl3sBLhj42s&cid=3DSNf= K_pTfQmo&s=3D&fp=3D19410&mp=3D&projSelected=3Dtrue#L0 > > I looked at this issue. > > It has nothing to do with org-ellipsis, or the Org mode in general. > To reproduce it, it's enough to do just this: > > emacs -Q > C-x 8 RET 25b7 RET > > Now try moving the cursor across the line that displays the triangle > character u+25B7. Glad you could finally reproduce and observe my problem. I'm not a fool anymore=C2=A0;-) > If you are on Windows 7, this will use the > BatangChe font for the triangle, and every redisplay operation, even > cursor motion, will be extremely slow. (On XP, this font is not > installed, and even if I install it, I'm unable to trigger the same > problem, for some reason.) FWIW, I don't know which font is used by default in the very minimal exampl= e I gave, and used. But, in my real .emacs conf file, I'm using Consolas (from Microsoft). Best regards, Seb --=20 Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 01 15:37:15 2013 Received: (at 15876) by debbugs.gnu.org; 1 Dec 2013 20:37:15 +0000 Received: from localhost ([127.0.0.1]:53553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnDlT-0004xH-6e for submit@debbugs.gnu.org; Sun, 01 Dec 2013 15:37:15 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:45550) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnDlR-0004x1-0S for 15876@debbugs.gnu.org; Sun, 01 Dec 2013 15:37:13 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MX500100AH55700@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Sun, 01 Dec 2013 22:37:06 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MX500042ALUR6C0@a-mtaout22.012.net.il>; Sun, 01 Dec 2013 22:37:06 +0200 (IST) Date: Sun, 01 Dec 2013 22:37:03 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <861u1w492o.fsf@somewhere.org> X-012-Sender: halo1@inter.net.il To: Sebastien Vauban Message-id: <83d2lg5mvk.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> <861u1w492o.fsf@somewhere.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: "Sebastien Vauban" > Cc: Dmitry Antipov , 15876@debbugs.gnu.org > Date: Sun, 01 Dec 2013 21:20:31 +0100 > > > If you are on Windows 7, this will use the > > BatangChe font for the triangle, and every redisplay operation, even > > cursor motion, will be extremely slow. (On XP, this font is not > > installed, and even if I install it, I'm unable to trigger the same > > problem, for some reason.) > > FWIW, I don't know which font is used by default in the very minimal example I > gave, and used. But, in my real .emacs conf file, I'm using Consolas (from > Microsoft). For which character(s)? You might be using Consolas for the text, but something else for the triangle. "C-u C-x =" should tell you. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 01 16:52:21 2013 Received: (at 15876) by debbugs.gnu.org; 1 Dec 2013 21:52:21 +0000 Received: from localhost ([127.0.0.1]:53599 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnEw8-0006mn-FS for submit@debbugs.gnu.org; Sun, 01 Dec 2013 16:52:20 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:60552 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnEw5-0006mW-CI for 15876@debbugs.gnu.org; Sun, 01 Dec 2013 16:52:17 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.4.62]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 9B50C500A2D; Sun, 1 Dec 2013 22:54:47 +0100 (CET) From: "Sebastien Vauban" To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban 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> <861u1w492o.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Sun, 01 Dec 2013 22:51:32 +0100 In-Reply-To: (Eli Zaretskii's message of "Sun, 01 Dec 2013 22:37:03 +0200") Message-ID: <868uw42qaj.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Eli Zaretskii wrote: >> From: "Sebastien Vauban" >> Cc: Dmitry Antipov , 15876@debbugs.gnu.org >> Date: Sun, 01 Dec 2013 21:20:31 +0100 >> >> > If you are on Windows 7, this will use the >> > BatangChe font for the triangle, and every redisplay operation, even >> > cursor motion, will be extremely slow. (On XP, this font is not >> > installed, and even if I install it, I'm unable to trigger the same >> > problem, for some reason.) >> >> FWIW, I don't know which font is used by default in the very minimal example I >> gave, and used. But, in my real .emacs conf file, I'm using Consolas (from >> Microsoft). > > For which character(s)? You might be using Consolas for the text, but > something else for the triangle. "C-u C-x =" should tell you. I don't succeed putting point on it. See http://screencast.com/t/jiC9rO3bj9T. I can move to the end of the line, and be before it, or after it, but never on it!? Anyway, it must be Consolas, as Consolas is the font used everywhere else, and as I have the following in my .emacs: --8<---------------cut here---------------start------------->8--- (setq org-ellipsis (if (char-displayable-p ?\u25B7) ; white right-pointing triangle " \u25B7" ; string 'org-ellipsis))) ; face --8<---------------cut here---------------end--------------->8--- As you see, the triangle is used only if the char is displayable in the current font, that is in Consolas in my case. Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 01 22:45:31 2013 Received: (at 15876) by debbugs.gnu.org; 2 Dec 2013 03:45:31 +0000 Received: from localhost ([127.0.0.1]:53757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnKRu-00071X-Hi for submit@debbugs.gnu.org; Sun, 01 Dec 2013 22:45:31 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:34575) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnKRp-00071G-AX for 15876@debbugs.gnu.org; Sun, 01 Dec 2013 22:45:26 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MX500H00U80MR00@a-mtaout23.012.net.il> for 15876@debbugs.gnu.org; Mon, 02 Dec 2013 05:45:17 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MX500HUOUFHKZ60@a-mtaout23.012.net.il>; Mon, 02 Dec 2013 05:45:17 +0200 (IST) Date: Mon, 02 Dec 2013 05:45:15 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <868uw42qaj.fsf@somewhere.org> X-012-Sender: halo1@inter.net.il To: Sebastien Vauban Message-id: <83bo0z6hmc.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> <861u1w492o.fsf@somewhere.org> <868uw42qaj.fsf@somewhere.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: "Sebastien Vauban" > Cc: 15876@debbugs.gnu.org, dmantipov@yandex.ru > Date: Sun, 01 Dec 2013 22:51:32 +0100 > > I don't succeed putting point on it. See http://screencast.com/t/jiC9rO3bj9T. Use my recipe, not yours. The problem happens as soon as the u+25b7 character is displayed in the buffer, no matter where it is displayed and by which mechanism. > I can move to the end of the line, and be before it, or after it, but never on > it!? Of course, this is how ellipsis behaves -- it doesn't come from buffer text, so you cannot put point there. > Anyway, it must be Consolas, as Consolas is the font used everywhere else, and > as I have the following in my .emacs: > > --8<---------------cut here---------------start------------->8--- > (setq org-ellipsis > (if (char-displayable-p ?\u25B7) ; white right-pointing triangle > " \u25B7" ; string > 'org-ellipsis))) ; face > --8<---------------cut here---------------end--------------->8--- > > As you see, the triangle is used only if the char is displayable in the current > font, that is in Consolas in my case. Where does it say "in the current font"? It doesn't. Emacs will use any font available to it. So your conclusion is incorrect. Only "C-u C-x =" can tell what font is used. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 02 04:30:04 2013 Received: (at 15876) by debbugs.gnu.org; 2 Dec 2013 09:30:04 +0000 Received: from localhost ([127.0.0.1]:53993 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnPpJ-0007rq-4t for submit@debbugs.gnu.org; Mon, 02 Dec 2013 04:30:01 -0500 Received: from dd5e0353a.access.telenet.be ([213.224.53.58]:2109 helo=mail.missioncriticalit.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnPpE-0007rW-Ju for 15876@debbugs.gnu.org; Mon, 02 Dec 2013 04:29:57 -0500 Received: from MUNDANEUM.i-did-not-set--mail-host-address--so-tickle-me (unknown [10.10.10.51]) by mail.missioncriticalit.com (Postfix) with ESMTPS id 0AF1B50085A; Mon, 2 Dec 2013 10:32:28 +0100 (CET) From: "Sebastien Vauban" To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Organization: Sebastien Vauban 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> <861u1w492o.fsf@somewhere.org> <868uw42qaj.fsf@somewhere.org> X-Url: Under construction... X-Archive: encrypt Date: Mon, 02 Dec 2013 10:29:10 +0100 In-Reply-To: (Eli Zaretskii's message of "Mon, 02 Dec 2013 05:45:15 +0200") Message-ID: <86bo0z1tzt.fsf@somewhere.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) Eli Zaretskii wrote: >> From: "Sebastien Vauban" >> Cc: 15876@debbugs.gnu.org, dmantipov@yandex.ru >> Date: Sun, 01 Dec 2013 22:51:32 +0100 >> >> I don't succeed putting point on it. See http://screencast.com/t/jiC9rO3bj9T. > > Use my recipe, not yours. The problem happens as soon as the u+25b7 > character is displayed in the buffer, no matter where it is displayed > and by which mechanism. > >> Anyway, it must be Consolas, as Consolas is the font used everywhere else, and >> as I have the following in my .emacs: >> >> --8<---------------cut here---------------start------------->8--- >> (setq org-ellipsis >> (if (char-displayable-p ?\u25B7) ; white right-pointing triangle >> " \u25B7" ; string >> 'org-ellipsis))) ; face >> --8<---------------cut here---------------end--------------->8--- >> >> As you see, the triangle is used only if the char is displayable in the current >> font, that is in Consolas in my case. > > Where does it say "in the current font"? It doesn't. Emacs will use > any font available to it. So your conclusion is incorrect. I had the impression that, when I wrote that code, I tested it with different fonts, and that I sometimes had the triangle, sometimes "...". That made me think that my code does correctly check in the current font if the triangle is displayable (or not), and then chooses the right character whether it is (not). I must be mistaken because... > Only "C-u C-x =" can tell what font is used. ... you're right: on my Windows 8, Emacs uses the BatangChe font for the triangle. Best regards, Seb -- Sebastien Vauban From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 02 05:45:38 2013 Received: (at 15876) by debbugs.gnu.org; 2 Dec 2013 10:45:38 +0000 Received: from localhost ([127.0.0.1]:54029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnR0T-0002Qo-MA for submit@debbugs.gnu.org; Mon, 02 Dec 2013 05:45:38 -0500 Received: from forward19.mail.yandex.net ([95.108.253.144]:57455) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnR0P-0002QX-P7 for 15876@debbugs.gnu.org; Mon, 02 Dec 2013 05:45:35 -0500 Received: from smtp16.mail.yandex.net (smtp16.mail.yandex.net [95.108.252.16]) by forward19.mail.yandex.net (Yandex) with ESMTP id D581E112234E; Mon, 2 Dec 2013 14:45:26 +0400 (MSK) Received: from smtp16.mail.yandex.net (localhost [127.0.0.1]) by smtp16.mail.yandex.net (Yandex) with ESMTP id 762F76A0616; Mon, 2 Dec 2013 14:45:26 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp16.mail.yandex.net (nwsmtp/Yandex) with ESMTP id ymAQXOCFj0-jPnqLDSk; Mon, 2 Dec 2013 14:45:25 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1385981125; bh=yfIcDJIr7MPoLVkzE2/XTRlKiEhHdmRbWORyfNlAlcc=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=Y23zMLw/UmWw2na/dRKppdd7tNzUD+Jz4/p1za8qBPw+ARXirioNwwWjH6+pBcU8r UB5aQn5FZutt5kNegP9tL8IQ3OryQHdKTehIo4Qqjz7PiX7YcfCsBpbplVr3BtJflq 3McPMWCKhx/ikM3vH90U6WAqTJTLj7x3nTv9TI84= Authentication-Results: smtp16.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <529C64C5.2040509@yandex.ru> Date: Mon, 02 Dec 2013 14:45:25 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Eli Zaretskii , Sebastien Vauban Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> In-Reply-To: <83haas5y88.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 12/01/2013 08:31 PM, Eli Zaretskii wrote: > Dmitry, can you please look into this? I'm not familiar enough with > the font stuff, so I don't see how was the font-spec and its > font-entities stored in the font cache supposed to be referenced from > some other Lisp object, to make sure they are marked and not GC'ed. It should be easy - just use this: === modified file 'src/alloc.c' --- src/alloc.c 2013-12-01 22:33:13 +0000 +++ src/alloc.c 2013-12-02 09:32:55 +0000 @@ -5731,7 +5731,18 @@ eassert (!VECTOR_MARKED_P (ptr)); VECTOR_MARK (ptr); /* Else mark it. */ if (size & PSEUDOVECTOR_FLAG) - size &= PSEUDOVECTOR_SIZE_MASK; + { + size &= PSEUDOVECTOR_SIZE_MASK; + if (PSEUDOVECTOR_TYPEP (&ptr->header, PVEC_FONT)) + { + Lisp_Object tmp; + XSETFONT (tmp, ptr); + if (FONT_SPEC_P (tmp)) + fprintf (stderr, "mark font-spec\n"); + else if (FONT_ENTITY_P (tmp)) + fprintf (stderr, "mark font-entity\n"); + } + } and set breakpoints to fprintf(). I tried this and see that font-spec objects can be referenced from face caches: (gdb) bt 3 full #0 mark_vectorlike (ptr=0x13178b8) at ../../trunk/src/alloc.c:5741 tmp = {i = 20019389} size = 13 i = 20019389 #1 0x00000000005ec050 in mark_object (arg=...) at ../../trunk/src/alloc.c:6084 ptr = 0x13178b8 pvectype = 15 obj = {i = 20019384} cdr_count = 0 #2 0x00000000005eb92b in mark_face_cache (c=0x15049b0) at ../../trunk/src/alloc.c:5839 face = 0x18d2050 i = 2 j = 15 (More stack frames follow...) I.e. (struct face *)0x18d2050 has font-spec object in lface[15]. But the most of font-spec and font-entity objects are referenced via staticpro'ed globals Vfontset_table and ft_face_cache. For example: (gdb) bt 16 #0 mark_vectorlike (ptr=0x129a288) at ../../trunk/src/alloc.c:5741 #1 0x00000000005ec050 in mark_object (arg=...) at ../../trunk/src/alloc.c:6084 #2 0x00000000005eb5f0 in mark_vectorlike (ptr=0x1296428) at ../../trunk/src/alloc.c:5752 #3 0x00000000005ec050 in mark_object (arg=...) at ../../trunk/src/alloc.c:6084 #4 0x00000000005eb5f0 in mark_vectorlike (ptr=0x129a4d0) at ../../trunk/src/alloc.c:5752 #5 0x00000000005ec050 in mark_object (arg=...) at ../../trunk/src/alloc.c:6084 #6 0x00000000005eb725 in mark_char_table (ptr=0x1788060) at ../../trunk/src/alloc.c:5779 #7 0x00000000005eb717 in mark_char_table (ptr=0x12094d0) at ../../trunk/src/alloc.c:5776 #8 0x00000000005eb717 in mark_char_table (ptr=0x13e2578) at ../../trunk/src/alloc.c:5776 #9 0x00000000005eb717 in mark_char_table (ptr=0xd85188) at ../../trunk/src/alloc.c:5776 #10 0x00000000005ec02c in mark_object (arg=...) at ../../trunk/src/alloc.c:6069 #11 0x00000000005eb5f0 in mark_vectorlike (ptr=0xd85080) at ../../trunk/src/alloc.c:5752 #12 0x00000000005ec050 in mark_object (arg=...) at ../../trunk/src/alloc.c:6084 #13 0x00000000005eac4b in Fgarbage_collect () at ../../trunk/src/alloc.c:5489 #14 0x0000000000563500 in maybe_gc () at ../../trunk/src/lisp.h:4462 #15 0x000000000060ec3e in Ffuncall (nargs=2, args=0x7fffffff0790) at ../../trunk/src/eval.c:2756 (gdb) bt 16 full ... #13 0x00000000005eac4b in Fgarbage_collect () at ../../trunk/src/alloc.c:5489 nextb = 0x0 stack_top_variable = 0 '\000' i = 1491 message_p = false count = 140 start = {tv_sec = 1385977872, tv_nsec = 656653658} retval = {i = 13914818} tot_before = 0 ... (gdb) p staticvec[1491] $8 = (Lisp_Object *) 0xd25cb0 > In any case, it seems like they are never marked on Windows, because > if I set a breakpoint in the line marked below: > > /* If font-spec is not marked, most likely all font-entities > are not marked too. But we must be sure that nothing is > marked within OBJ before we really drop it. */ > for (i = 0; i < size; i++) > if (VECTOR_MARKED_P (XFONT_ENTITY (AREF (XCDR (obj), i)))) > break; > > if (i == size) <<<<<<<<<<<<<<<<<<<<< > drop = 1; > } > > with a condition i != size, that breakpoint never breaks. The best way to hit this breakpoint is to run something like: (defun bloat-font () (interactive) (let ((fonts (x-list-fonts "*"))) (while fonts (condition-case nil (set-frame-font (car fonts)) (error nil)) (setq fonts (cdr fonts)) (redisplay)))) (This is X-specific; I believe there should be a similar MS-Windows method). Subtle "triangle example" works just fine for me (with default font used by GTK3 build and 'emacs -Q' at least). Also I'm curious how to reproduce this issue with X. In particular, how to find a font so "heavy" that an attempt to load it creates a lot of Lisp data (hundreds Kbytes, enough to reach gc_cons_threshold each time)? Dmitry From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 02 06:43:34 2013 Received: (at 15876) by debbugs.gnu.org; 2 Dec 2013 11:43:34 +0000 Received: from localhost ([127.0.0.1]:54104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnRuX-0003wy-Qb for submit@debbugs.gnu.org; Mon, 02 Dec 2013 06:43:34 -0500 Received: from forward20.mail.yandex.net ([95.108.253.145]:34159) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnRuT-0003wc-M1 for 15876@debbugs.gnu.org; Mon, 02 Dec 2013 06:43:31 -0500 Received: from smtp18.mail.yandex.net (smtp18.mail.yandex.net [95.108.252.18]) by forward20.mail.yandex.net (Yandex) with ESMTP id A0C5F1041CCF; Mon, 2 Dec 2013 15:43:22 +0400 (MSK) Received: from smtp18.mail.yandex.net (localhost [127.0.0.1]) by smtp18.mail.yandex.net (Yandex) with ESMTP id 3F4D818A001B; Mon, 2 Dec 2013 15:43:22 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp18.mail.yandex.net (nwsmtp/Yandex) with ESMTP id NcL7XcCbCP-hLti2HOX; Mon, 2 Dec 2013 15:43:21 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1385984601; bh=xcDFEXlGwFGD0SvfJHpE0cBMenGk3EFvhfe2gOsQwiw=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=DieeN3Hut+COJBS/WjeUWNJV34OhMH7uwMCo1rDws350/CFS3O0ccAg/CaTPdFSxn zrV+fIkzNbg4+HzNyup3Fyzp7w2iW7CtctjsjExj50CF+MFv41v0esG1IwSHQ9+5Bm VWyvgiCk8qAZkDHpJxGR6VHp4m+d7qSFeu4Gcvs4= Authentication-Results: smtp18.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <529C7259.2060703@yandex.ru> Date: Mon, 02 Dec 2013 15:43:21 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Eli Zaretskii , Sebastien Vauban Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> In-Reply-To: <529C64C5.2040509@yandex.ru> Content-Type: multipart/mixed; boundary="------------000309090203040700090804" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) This is a multi-part message in MIME format. --------------000309090203040700090804 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit BTW, I have grabbed BatangChe font from MS-Windows machine and tried: ./src/emacs -Q -font '-hanyang system-batangche-medium-r-normal--0-0-0-0-m-0-iso10646-1' This looks extremely ugly, but basic editing around "magic triangle" works without any visible slowdown. Dmitry --------------000309090203040700090804 Content-Type: image/png; name="emacs-batang.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="emacs-batang.png" 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 br39rt/d+/vz3veeFC71vGBZWVm9p6urtbk1HJouLCj0eb39/X2NDY3RAfump6eHhofq6hoc t9voHkBR1La2NkVRVEVVZs1+QScsy6qtqa+pqZn7xm3bt+bm5iXeem0h5g/eFlH8rc0HH3ot /uLiqQ3LjJim6dX8Ho/Pq3s1RVNURYjoxjJzuYlUhK7rHt2je/RQKGIbEQcrEQAAAKsvkCdw D7kZ7WJKRSqKMhPLZz/DFMd7Ct89tuc7Y90/8wUq/Xml4z0/3vvaoK0EQsW3OuiYWlII25ot QxNCvOnYNy8xvWlZUiZzhlyZCk6Fw2HTMBrq60fHRo884kjTMg3DtCzDtEyPx6PrutfnmwpO eTQ9mTPkM5k8ELj8iitv3vhLr89XU1Ozd99eVVVLS8t27ers7Oy8/Ipk03iUqqrSllLIaXvE VCaOajp1z+Cr0RDVWLWmseywQbN9xOhVhGaZlq7p85pEfV394NBg/0B/OBz26J6CgoKysjJN 1YQQrS2tsckqKyp3duxUFKW0tHT3nt1lpWXRbD8yOtLc2KwoyujoaH19vdfrFUJUVVZ17Oqo qqyKP2oevIkHGosO//m2p68+5E1nFVfWRSbv1XzrQqGcp3575Zw7LGZoHk9JZcshJ/+rbTxr Tj+19sQvvPLsLUWHfH2J4mIvXnj+edXVVaqq/uM5b7/uc/8v+vrjf3/imn+6qrm5SQjxgfe/ 9+vf+k709b8/8eQ1H766pblZCHH+ee/7v59v+MD735vCpZ4nJyenvLyyc1fnmrY1Xp+srKzs 6e0tLi6ZDk7aUu7p7q6tqY1dvOD0eytFVdXOjk5FURRVURR17Zq1iqoo0XSqKLZlhyOhqeDE G8ZCc7SxRDfneW+UtlSUgw29lkhx8UzZVJk7NDla4K8aGDQUVVFUNfrGmS+wopcJSKkpWvfe sZK88r0jwzVlPi3ua0AAAACwegN5Ik9Zj16yLmZGs1bfeAupUmRpF5esXafanYocFULkVlQ/ 9NeO6sbzpJLnYKZtW9qmOTeQH+wMuanYDp8Qbtu2aVvBqenvff+78Uyv6XoyT1mfW/lSSCU6 mtzsoO5i7p3eyYlmJNM0y+S6jt1PFpX7w0WTtWWHRn/rL9R6Iy+PjA2P7ZuuNI6RqlA1bd6j qlVNraioqKioEEKEw+HBocGenp6GhgYhxPT09MDegVAoNHPiVChCET6fz+fzjU+OFxYUjk+M BwIBj3fmSfU723c6a3hxTqkHmouP+sUrT1196AmnlFTUTw1cFyj/2vHn/GDLs38qPeybb1jd 5tRE14a9Xa9UNx8XmfiNv+ja0OTr0VI0TTMs0zPnwnLDMJQ5103X1FZHL7YvLCo0DCP6+ujI aFNTg6qpQoimpobYPI+Ojs19fXR0NOVLPU9uXm7EjHTu3rWmtXVg796mxube3u6ioqKOzs7S 8jKPz5tMc7LMmWtkWttaFWVmJL39V8ooM3uJrj1d4+Pj88ZCc7A4UtpCykX3Qgcdei219Xxo c9FLL4yUBZo7Orst25IiFvgVEf1mUpFSSMu2Xm3vz/GU7R3vP6SlmLPjAAAAOHggj//ctWlZ Qght9uxQ9P9zu+OKKLbEmbY9qtjDQkhvbtOLO26saAhozi4jl9I0Z86QSyknJycb65oXHSe8 r68vFAqbfkuTTi9Zt2zbsk4+5cSjjzwmLz9/iWHPpoPBZ557Wtf1JC9ZF0IEg8GNN29obm6u q6/v7++LXuY9NDRYX98QDkc2btxwxeUfSvJ55tGEX1NTY9uVFdPVL+39U2h6wKgIBfRiIUTQ HBneN24Hcw7Lf3uupyg3N1dTVXngOszx5VRXVu94fUd0gu6e7oryivy8fFVTbcvevmN79PWy krK9+/YWFRQNDw3XVNdEX/R4PI2NjV6Pk0AYfz17Ay3lx9605amrDn/TUaXla6f3fbWg6sap 4a+XvfETND0vr/r8rtf/uW7d++zgl9T8D4YmO6ONuKysdM+uPW1t+0/+797dVVxcFJuH6NUB sW+ioq8XFhYODQ1H7ycfGhqJvV5QWLD/9cHhwsLC+JfFcesqKSoZNK0dr78WDkektHv7+oaG hwsKCgvyCpLcj0TDcF5u/tLT1NTVVlaU7x8Lzeng5LZtS7F4ILcsq6m5aaaRzxt6LcHi4pny uENq//y3xxqK1lqhlr89te/Mt/q9Xq8U0bvIhRRC2EJK+/ltu9u7h9eVHfVcz3PvOfRNXK8O AACAgwfyxM6QK0JRNWX2cs05j1mec+GnWiZFqRBCUXPN6Kkqh2eto18BKEKIcDjS0/7ijifu HO1+2TYjCyd+/yHR/xY+e/NHFEUpbjqh5a3/lFDX37bssbHx8YnxoeGh3Xt2dXf1VFVVVlZV +ry+gb17u7q61rWtXXfIoT6fb2xsPHpKO5n+djAY/OXGDS1NzU1NTd3d3XV1dV1dXVKKxsaG nt7u5pZmKeTGjRuuuDKpTC6ltKU9PDrctWfP+MSEIurD+d19kcHi8rCQYmRwwh7O10erdtrt gjQAACAASURBVIrdxcXjzU3NRcXzxyHv3NVZUlySm5uraZphGIODg7mB3OgEtm2rmqpqqmEY /QP9sbaUl5/XN9A3NDKkqmqOP2cmJZaU9Pb2VldXe73ecDi8b3BffV19/Ik8fp7c5qrjbtry 9FWHHHNYZf0Z/Z33+EtOm/cJth2ZGvp7Tcs7bGOnovmnhn+nqCXRpxW87S2n/mzDxisvv6Sp sUEIsWvXnl/evOmtp56y/xOURebtTW869pZbb7/2w1cJIW7ZfNv+14879uZNt137kauFEDdv vu34449N3xlyGYlMPvX09PbtQkohhTcvL3D2ma+3v6Z7dNHREXn1tb2KEIriX7Mm9+ST1Jwc B80pkBt46JE/739Wm5RSCnvmjoBoHJa6rvf19U5NTUazcnNLs+PByRe9TiT6UVLYBxp6LeHi 4pjyuMNqD20r6+je1lR40o5XFJ+v/20n12geffYWd2nb9nNbd9163zOVOYe27+2MhHrefOT7 yOMAAACII5DHzTItRcx5jtNcM+eZlJmeuZgZEM2yTAcFdTxxZ/+Ov7bV+IUYi75yWKn4293f Kms5sfX063SPP9oPnr2aNVrczP+EEAOdz00NtycY/m3LtsbHxsPhkGEYvT19l15y+eZbb9m9 e090ggvOv/DXv7nnuOOOV1VtbGzMNK1Fz9XHn8Y33PSL5ubmhoaGrq499fUN7e07Ozt3RW+O bW1p7e7ubmpslFJuuOkXH7rqaseZfPYaeFlbX1s789rhQggxLYQQTXlC5AnRMFsJ0hKzFwHH VJRXDA0P9fb12rbt8Xjy8vLq6uqiv6qtre3v7+/q6tJ1vaysbHx8PPaustKynt6epsam2Cul paVCEXu69kQiEZ/PF70GPk28ec21b75ld+fNW5+7Ob/qzNK2j8Z+FZnaHRp7xZreXVnbXLfm ndbY1zz+I8f2jnkLj41OcNaZ671ez+Zb7xgY2CuEqKysWL/+rW879dSlS3z3O//xtjt+9YV/ +7KmaWecftor27bPvP6uf7zr7t/8+5e/IoQ49pij3/3Oc9O0yNbU1MgddxUU5Fc3NyuqKhRl aN++iT8+mHPSiUpXd2lff/naNdHIPDo8MrTp1pLzz9MKCxMtpampeeGL217ZunbtIZNTE9Hv 5HRdLygoyHlj4Ddjz4NMqPXaB7xk3ZaypeUAQ685LW5p111+6lVf+lWh/mqh3frcs8qrr796 6KF5LY35qiJ29Qy/uK1r287eIr01YmoD03tavHv+94c/+MRnPsuxBwAAACJ1T1m3xey5cXX/ I5bVWCaPPuht9lSZjGX4RC/d3LX18aPOuCq3sHxO4BbStqenp/q7d4WmJ2dvHJ0b/2X0GXNF xeV9r/396LOuSahQ27YtyxofHw+Fw6ZpHGjYM1vKUHBqfGzcMk3bcn7J+uOPPVZfV1dfX7+n a3d9fcOuzl2duzovvugyKeRtt26ybdna0tzV3dXY0BgJR35/333nX3ChwzUvhZQiNB2qrqr2 +nyqqmqqpqqapqnRFWrblmVbtm1HwuG+/j5p20K+oUnk5eblHeCB1QV5BQVt+6+CLispi/27 pLikpLhk3vRlJWVzp4mfg3r2BuqrDv9i1eFfnPd6flFzRWVLTo7i03bL4E2qGpb68Vue/knp of8dLSU3kHv6aW87+cQ3R4Ofpml+vz8WL3/0vf+eOzOxHwsLCi+7+IMXvP99QhF+v/+0t5wa fb2osOjiC88/773vFkL4fL7c3Nw0XbIeae8oLCoK1NTs2rLFMgxFVdeuWzfZ3q4NDXu2v1Zz wgk7t2wxJidVj6e0vLyktDS04/W8N5+Q8IpY7Pln+fn5tTW14xOj0W+UFEUNTgUXjoXmYCXO PsNcmbcXimfotZTXc2Gu/0vXnPGVG/5cHhmpy187EdT69w3fb3ZGzHFFkarpq9KP6Jns75nc fmzl4HvXv33jrXfdc+ed5znecgEAALBKAnkCl6zb5v5+eez56rMjoMUuYZfClvt7z04uWc+r WhecGB0bGZkcHxPCjgbvmaed7T/7PnvdbPTH2Xjes/M56ckvqmlLqETbtm3bGhsbN4yIz+vr 3dc3b9gzXdfXrlkbDE5FIpGxsTHDMh1fsi6l3PrKlrPOOGvv3r21tXW7du1q7+x4//vOE6oQ tnj/B86/6847bMtqaW3ZN7i3ta3t97+/f2x8LMeX48vxOShL2nYoHDYtywwGR0dGhkeGS0pK i4qKhBCzP5YUFRULIULhsGXb8x7qlhFSNz9S7pNGt2312PqI5s+V2tueffRWT8m78ipOjk2T 48+JXWk/T3lF+aI/KoqSl5+Xlz/zzUUgN7Do6+lb6vD2V4sKC7tefqnsog9qBQUDP/mpkNKy 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 SUVORK5CYII= --------------000309090203040700090804-- From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 02 12:53:08 2013 Received: (at 15876) by debbugs.gnu.org; 2 Dec 2013 17:53:08 +0000 Received: from localhost ([127.0.0.1]:54978 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnXgC-00069x-80 for submit@debbugs.gnu.org; Mon, 02 Dec 2013 12:53:08 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:57116) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnXgA-00069Q-3h for 15876@debbugs.gnu.org; Mon, 02 Dec 2013 12:53:07 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MX600K00XKHRG00@a-mtaout23.012.net.il> for 15876@debbugs.gnu.org; Mon, 02 Dec 2013 19:52:59 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MX600KQ7XOAOY50@a-mtaout23.012.net.il>; Mon, 02 Dec 2013 19:52:59 +0200 (IST) Date: Mon, 02 Dec 2013 19:52:58 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <529C64C5.2040509@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov Message-id: <834n6r5edh.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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Mon, 02 Dec 2013 14:45:25 +0400 > From: Dmitry Antipov > CC: 15876@debbugs.gnu.org > > On 12/01/2013 08:31 PM, Eli Zaretskii wrote: > > > Dmitry, can you please look into this? I'm not familiar enough with > > the font stuff, so I don't see how was the font-spec and its > > font-entities stored in the font cache supposed to be referenced from > > some other Lisp object, to make sure they are marked and not GC'ed. > > It should be easy - just use this: > > === modified file 'src/alloc.c' > --- src/alloc.c 2013-12-01 22:33:13 +0000 > +++ src/alloc.c 2013-12-02 09:32:55 +0000 > @@ -5731,7 +5731,18 @@ > eassert (!VECTOR_MARKED_P (ptr)); > VECTOR_MARK (ptr); /* Else mark it. */ > if (size & PSEUDOVECTOR_FLAG) > - size &= PSEUDOVECTOR_SIZE_MASK; > + { > + size &= PSEUDOVECTOR_SIZE_MASK; > + if (PSEUDOVECTOR_TYPEP (&ptr->header, PVEC_FONT)) > + { > + Lisp_Object tmp; > + XSETFONT (tmp, ptr); > + if (FONT_SPEC_P (tmp)) > + fprintf (stderr, "mark font-spec\n"); > + else if (FONT_ENTITY_P (tmp)) > + fprintf (stderr, "mark font-entity\n"); > + } > + } > > and set breakpoints to fprintf(). I tried this and see that font-spec > objects can be referenced from face caches: Thanks. But I think I didn't make myself clear: the issue is not just to see ANY font-spec objects being marked. The issue is with those font-spec objects that are recorded in the font caches that are compacted by compact_font_caches. I don't see any code that makes sure some Lisp object references those caches. Without that, they cannot be possibly marked, and will be GC'ed, right? > But the most of font-spec and font-entity objects are referenced via > staticpro'ed globals Vfontset_table and ft_face_cache. Those staticpro'ed objects might just be the reason why you don't see the problem. Your build uses the ftfont driver, doesn't it? Because ftfont.c has this implementation of the get_cache method: static Lisp_Object ftfont_get_cache (struct frame *f) { return freetype_font_cache; } and freetype_font_cache is a staticpro'ed variable. By contrast, w32font.c does this: Lisp_Object w32font_get_cache (struct frame *f) { struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); return (dpyinfo->name_list_element); } and dpyinfo->name_list_element is what compact_font_caches examines. (Note that xfont.c and xftfont.c also use a cache stored in dpyinfo->name_list_element, so this issue is not entirely Windows specific.) > > In any case, it seems like they are never marked on Windows, because > > if I set a breakpoint in the line marked below: > > > > /* If font-spec is not marked, most likely all font-entities > > are not marked too. But we must be sure that nothing is > > marked within OBJ before we really drop it. */ > > for (i = 0; i < size; i++) > > if (VECTOR_MARKED_P (XFONT_ENTITY (AREF (XCDR (obj), i)))) > > break; > > > > if (i == size) <<<<<<<<<<<<<<<<<<<<< > > drop = 1; > > } > > > > with a condition i != size, that breakpoint never breaks. > > The best way to hit this breakpoint is to run something like: > > (defun bloat-font () > (interactive) > (let ((fonts (x-list-fonts "*"))) > (while fonts > (condition-case nil (set-frame-font (car fonts)) (error nil)) > (setq fonts (cdr fonts)) > (redisplay)))) > > (This is X-specific; I believe there should be a similar MS-Windows method). What is X-specific here? If you mean x-list-fonts, then it exists on Windows and does the same. Anyway, I think we are mis-communicating again: the above Lisp code will cause the breakpoint to fire with i == size, i.e. we will remove the font-entities from the cache. I wanted the opposite: to see at least 1 font-entity that is NOT removed. So my breakpoint condition was "i != size", which means we will NOT drop the font-entity. What I saw is that this condition is never true, which means we remove ALL of the font-entities from the cache. > Subtle "triangle example" works just fine for me (with default font used by > GTK3 build and 'emacs -Q' at least). If the font cache is not cleared, you will not see any problem at all. > Also I'm curious how to reproduce this issue with X. In particular, how to > find a font so "heavy" that an attempt to load it creates a lot of Lisp data > (hundreds Kbytes, enough to reach gc_cons_threshold each time)? Well, you could lower gc_cons_threshold instead, couldn't you? From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 02 13:00:46 2013 Received: (at 15876) by debbugs.gnu.org; 2 Dec 2013 18:00:46 +0000 Received: from localhost ([127.0.0.1]:54992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnXnY-0006NG-Sh for submit@debbugs.gnu.org; Mon, 02 Dec 2013 13:00:45 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:64815) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnXnV-0006Mx-F1 for 15876@debbugs.gnu.org; Mon, 02 Dec 2013 13:00:42 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MX600F00XWTHO00@a-mtaout21.012.net.il> for 15876@debbugs.gnu.org; Mon, 02 Dec 2013 20:00:12 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MX600FI5Y0BEG20@a-mtaout21.012.net.il>; Mon, 02 Dec 2013 20:00:12 +0200 (IST) Date: Mon, 02 Dec 2013 20:00:11 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <529C7259.2060703@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov Message-id: <8338mb5e1g.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> <529C7259.2060703@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Mon, 02 Dec 2013 15:43:21 +0400 > From: Dmitry Antipov > CC: 15876@debbugs.gnu.org > > BTW, I have grabbed BatangChe font from MS-Windows machine and tried: > > ./src/emacs -Q -font '-hanyang system-batangche-medium-r-normal--0-0-0-0-m-0-iso10646-1' > > This looks extremely ugly Relax, that font is only used for the triangle, not for the text. > but basic editing around "magic triangle" works without any visible > slowdown. Again, if you don't see the font caches being GC'ed, you will not notice any slowdown. Can you describe the "life cycle" of the font cache? All I see is that it is consed in font.c, which also maintains a reference counter for each driver-type, and that's it. All the rest is left to the font driver, but I see no code that records the font caches anywhere, except in dpyinfo->name_list_element, which does not seem to be part of any Lisp object visible to GC. If the above is correct, then how can we expect the font caches that are still in use to be marked? What am I missing? From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 03 04:57:12 2013 Received: (at 15876) by debbugs.gnu.org; 3 Dec 2013 09:57:12 +0000 Received: from localhost ([127.0.0.1]:55533 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vnmj9-0006eF-N5 for submit@debbugs.gnu.org; Tue, 03 Dec 2013 04:57:12 -0500 Received: from forward2h.mail.yandex.net ([84.201.187.147]:39164) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vnmj8-0006e3-6W for 15876@debbugs.gnu.org; Tue, 03 Dec 2013 04:57:11 -0500 Received: from smtp2h.mail.yandex.net (smtp2h.mail.yandex.net [84.201.187.145]) by forward2h.mail.yandex.net (Yandex) with ESMTP id 59C58701B6F; Tue, 3 Dec 2013 13:57:03 +0400 (MSK) Received: from smtp2h.mail.yandex.net (localhost [127.0.0.1]) by smtp2h.mail.yandex.net (Yandex) with ESMTP id C0022170147D; Tue, 3 Dec 2013 13:57:02 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp2h.mail.yandex.net (nwsmtp/Yandex) with ESMTP id RZ3SE7pgD2-v2A4N4IN; Tue, 3 Dec 2013 13:57:02 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1386064622; bh=FKb2N5TzXdhNO1SBE2+cVXtzu7Cg/uVWuqa/WJHJZjk=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=lYHRKE8GP3N8RRQ0UFL/HTXV6mioepSw2IbhxCOSzKtG5R8n0oIuZcVqzFPK0tu72 Vj49rgRkh9m9LCk1siGaSEkLgAr/BB2nCPV5kOZoj/i7cBFHXK+0qp9kp1daPB8e+t QrYddRhgxeYORN3jL1VYPpeWXfSZgndjm7sFjHQI= Authentication-Results: smtp2h.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <529DAAED.9000504@yandex.ru> Date: Tue, 03 Dec 2013 13:57:01 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> In-Reply-To: <834n6r5edh.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 12/02/2013 09:52 PM, Eli Zaretskii wrote: > Thanks. But I think I didn't make myself clear: the issue is not just > to see ANY font-spec objects being marked. The issue is with those > font-spec objects that are recorded in the font caches that are > compacted by compact_font_caches. I don't see any code that makes > sure some Lisp object references those caches. Without that, they > cannot be possibly marked, and will be GC'ed, right? Yes, but this is somewhat similar to markers. All markers are chained via 'next' pointers into per-buffer lists, but there is no guarantee that _each_ marker is referenced in some other way. Instead, the marker _may_ be referenced from some other object. If this is so, the marker is live. Otherwise it's dead. >> But the most of font-spec and font-entity objects are referenced via >> staticpro'ed globals Vfontset_table and ft_face_cache. > > Those staticpro'ed objects might just be the reason why you don't see > the problem. Your build uses the ftfont driver, doesn't it? Because > ftfont.c has this implementation of the get_cache method: > > static Lisp_Object > ftfont_get_cache (struct frame *f) > { > return freetype_font_cache; > } > > and freetype_font_cache is a staticpro'ed variable. By contrast, > w32font.c does this: > > Lisp_Object > w32font_get_cache (struct frame *f) > { > struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); > > return (dpyinfo->name_list_element); > } > > and dpyinfo->name_list_element is what compact_font_caches examines. But Vfontset_table should present on MS-Windows too, isn't it? > Anyway, I think we are mis-communicating again: the above Lisp code > will cause the breakpoint to fire with i == size, i.e. we will remove > the font-entities from the cache. I wanted the opposite: to see at > least 1 font-entity that is NOT removed. So my breakpoint condition > was "i != size", which means we will NOT drop the font-entity. What I > saw is that this condition is never true, which means we remove ALL of > the font-entities from the cache. I understand the problem, but (as of r115362) I'm able to hit the breakpoint on the 'break' statement before 'if (i == size)' and found marked font-entity: ... Breakpoint 1, compact_font_cache_entry (entry=...) at ../../trunk/src/alloc.c:5327 5327 break; (gdb) bt 4 #0 compact_font_cache_entry (entry=...) at ../../trunk/src/alloc.c:5327 #1 0x00000000005ea772 in compact_font_caches () at ../../trunk/src/alloc.c:5357 #2 0x00000000005ead99 in Fgarbage_collect () at ../../trunk/src/alloc.c:5531 #3 0x00000000005635d8 in maybe_gc () at ../../trunk/src/lisp.h:4462 (More stack frames follow...) (gdb) p i $1 = 0 (gdb) p size $2 = 4 (gdb) p XFONT_ENTITY (AREF (XCDR (obj), i)) $3 = (struct font_entity *) 0x12fd578 (gdb) p /x XFONT_ENTITY (AREF (XCDR (obj), i))->header.size & ARRAY_MARK_FLAG $4 = 0x8000000000000000 ;;; non-zero ==> mark bit is set ... Since this font-entity is marked, the whole cache entry is not removed. I'll try to trace marking and find an object which references this font-entity. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 03 08:16:51 2013 Received: (at 15876) by debbugs.gnu.org; 3 Dec 2013 13:16:51 +0000 Received: from localhost ([127.0.0.1]:55651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnpqM-0004d7-Ja for submit@debbugs.gnu.org; Tue, 03 Dec 2013 08:16:51 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:49013) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnpqK-0004cR-9r for 15876@debbugs.gnu.org; Tue, 03 Dec 2013 08:16:49 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MX800500FIDO100@a-mtaout20.012.net.il> for 15876@debbugs.gnu.org; Tue, 03 Dec 2013 15:16:32 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MX8005EPFJKMV10@a-mtaout20.012.net.il>; Tue, 03 Dec 2013 15:16:32 +0200 (IST) Date: Tue, 03 Dec 2013 15:16:34 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <529DAAED.9000504@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov Message-id: <83ob4y3wi5.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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Tue, 03 Dec 2013 13:57:01 +0400 > From: Dmitry Antipov > CC: sva-news@mygooglest.com, 15876@debbugs.gnu.org > > On 12/02/2013 09:52 PM, Eli Zaretskii wrote: > > > Thanks. But I think I didn't make myself clear: the issue is not just > > to see ANY font-spec objects being marked. The issue is with those > > font-spec objects that are recorded in the font caches that are > > compacted by compact_font_caches. I don't see any code that makes > > sure some Lisp object references those caches. Without that, they > > cannot be possibly marked, and will be GC'ed, right? > > Yes, but this is somewhat similar to markers. All markers are chained > via 'next' pointers into per-buffer lists, but there is no guarantee that > _each_ marker is referenced in some other way. Instead, the marker _may_ > be referenced from some other object. If this is so, the marker is live. > Otherwise it's dead. OK, but the difference is that a buffer is a Lisp object that is examined by GC, and so its marker list is examined. Where's something similar for the font caches? > But Vfontset_table should present on MS-Windows too, isn't it? It is present, but how is it related to the issue at hand? > > Anyway, I think we are mis-communicating again: the above Lisp code > > will cause the breakpoint to fire with i == size, i.e. we will remove > > the font-entities from the cache. I wanted the opposite: to see at > > least 1 font-entity that is NOT removed. So my breakpoint condition > > was "i != size", which means we will NOT drop the font-entity. What I > > saw is that this condition is never true, which means we remove ALL of > > the font-entities from the cache. > > I understand the problem, but (as of r115362) I'm able to hit the breakpoint > on the 'break' statement before 'if (i == size)' and found marked font-entity: > > ... > Breakpoint 1, compact_font_cache_entry (entry=...) at ../../trunk/src/alloc.c:5327 > 5327 break; > (gdb) bt 4 > #0 compact_font_cache_entry (entry=...) at ../../trunk/src/alloc.c:5327 > #1 0x00000000005ea772 in compact_font_caches () at ../../trunk/src/alloc.c:5357 > #2 0x00000000005ead99 in Fgarbage_collect () at ../../trunk/src/alloc.c:5531 > #3 0x00000000005635d8 in maybe_gc () at ../../trunk/src/lisp.h:4462 > (More stack frames follow...) > (gdb) p i > $1 = 0 > (gdb) p size > $2 = 4 > (gdb) p XFONT_ENTITY (AREF (XCDR (obj), i)) > $3 = (struct font_entity *) 0x12fd578 > (gdb) p /x XFONT_ENTITY (AREF (XCDR (obj), i))->header.size & ARRAY_MARK_FLAG > $4 = 0x8000000000000000 ;;; non-zero ==> mark bit is set > ... > > Since this font-entity is marked, the whole cache entry is not removed. This never happened to me on Windows. From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 03 10:09:24 2013 Received: (at 15876) by debbugs.gnu.org; 3 Dec 2013 15:09:24 +0000 Received: from localhost ([127.0.0.1]:56540 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnrbH-0007uV-MB for submit@debbugs.gnu.org; Tue, 03 Dec 2013 10:09:24 -0500 Received: from forward1h.mail.yandex.net ([84.201.187.146]:38216) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VnrbE-0007uE-11 for 15876@debbugs.gnu.org; Tue, 03 Dec 2013 10:09:21 -0500 Received: from smtp2h.mail.yandex.net (smtp2h.mail.yandex.net [84.201.187.145]) by forward1h.mail.yandex.net (Yandex) with ESMTP id 565789E0CE0; Tue, 3 Dec 2013 19:09:13 +0400 (MSK) Received: from smtp2h.mail.yandex.net (localhost [127.0.0.1]) by smtp2h.mail.yandex.net (Yandex) with ESMTP id B03D0170269A; Tue, 3 Dec 2013 19:09:12 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp2h.mail.yandex.net (nwsmtp/Yandex) with ESMTP id i6p4Iz94aq-9CAilbep; Tue, 3 Dec 2013 19:09:12 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1386083352; bh=lURF18yxQ3j3GHzh16H9zC5Zab08FnYe0uTGqF065zI=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=N2gn7i/nnvmKwKPMB+JjVApgI72Zq7LlxETP/LfqiOr5GvaM4rb9iHRjvIbseB7lP FKJY8rYT8cTTyLi7spxYBNN3uYxdoBJ3MpUI7gnKRBzdLxPiMLKK6DUzVKXZnVGpKM sYhXO2FkJNrAtcNwypKhLz4nDezu3LDcK3YtaeAg= Authentication-Results: smtp2h.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <529DF416.7070807@yandex.ru> Date: Tue, 03 Dec 2013 19:09:10 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> In-Reply-To: <83ob4y3wi5.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Oops. 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. (Just for fun: font entity recording was introduced in r100788 but reverted in r100814 due to OTF handling changes. How dumb.) Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 04 12:53:09 2013 Received: (at 15876) by debbugs.gnu.org; 4 Dec 2013 17:53:09 +0000 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 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 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) 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) Date: Wed, 04 Dec 2013 19:53:03 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <529DF416.7070807@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > 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.) From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 05 01:29:55 2013 Received: (at 15876) by debbugs.gnu.org; 5 Dec 2013 06:29:55 +0000 Received: from localhost ([127.0.0.1]:58822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoSRe-0000xv-5M for submit@debbugs.gnu.org; Thu, 05 Dec 2013 01:29:54 -0500 Received: from forward4o.mail.yandex.net ([37.140.190.33]:59572) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoSRY-0000xj-Jw for 15876@debbugs.gnu.org; Thu, 05 Dec 2013 01:29:50 -0500 Received: from smtp2o.mail.yandex.net (smtp2o.mail.yandex.net [37.140.190.27]) by forward4o.mail.yandex.net (Yandex) with ESMTP id 4A98256419AD; Thu, 5 Dec 2013 10:29:46 +0400 (MSK) Received: from smtp2o.mail.yandex.net (localhost [127.0.0.1]) by smtp2o.mail.yandex.net (Yandex) with ESMTP id E55F836A0618; Thu, 5 Dec 2013 10:29:45 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp2o.mail.yandex.net (nwsmtp/Yandex) with ESMTP id jWUPMW5eR1-TjeO0vYZ; Thu, 5 Dec 2013 10:29:45 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1386224985; bh=aD+qi19FmVdVKzsuQj4IsxWh0KeOGTsYcVvcmnLsZIY=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=TRzEzA1ewgM1jiZw4lU/zj3NjZgImgYUIvSbkuVsn5UKmUleLXxD50gbAEBubwD7/ LGJySKp/gn8U48KHRzeRc4QkNPJvj9APqohwzpZxOhYI/g/9G7N0Vo1mN8IzF2GznW vs38L6VkULci5uE0vBrTJZdMrKSgE7o+XYHsK8qE= Authentication-Results: smtp2o.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <52A01D59.7030304@yandex.ru> Date: Thu, 05 Dec 2013 10:29:45 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> In-Reply-To: <83txeo33ls.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------050000050903010104050202" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) This is a multi-part message in MIME format. --------------050000050903010104050202 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/04/2013 09:53 PM, Eli Zaretskii wrote: > 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.) OK, let's try the following steps. 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...) Dmitry --------------050000050903010104050202 Content-Type: image/png; name="font-pointer.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="font-pointer.png" iVBORw0KGgoAAAANSUhEUgAAA0IAAALhCAIAAAD9w4PXAAAACXBIWXMAAA7EAAAOxAGVKw4b AAAAB3RJTUUH3QwFBhMJjOQ95gAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJ TVBkLmUHAAAgAElEQVR42uzd3680yX3f92/V9DnPefbZ51muyOVyl7+5JJcrUY7EwDci4nAT XdgKxAAScmmLV8mV4QC6CGDZgiw4iRPs2khs55p/g0wQgQNkKTuEJFsko58UaVE2I5NLcsld 7vP7/JiuXPRMnz5d1dXfru6e6ZrzfklYzjOnf1b3TH+mqrvKWGuttcZYERERY8Q5EREjIsa4 6h8ApqT/WBmKYjSzWhXvfOcz73rXex4+vP+DH3z30aOHim8211rCM888+8lP/qcffeGlN9/8 4R/98Vf+8i//4sGDe845ESdittObzT+dE2OKVfGuZ97zUz/5sx9/8ZNHxfHZ2dmP3/7Rn/7p 1771rT97+OC+28zinBNjzGq1euc73/3ix//Ki5/46VtP3FqtVi+99NHXvvR/f+1r//YHP3j9 8eOHDx8+sNY+8673/PRf+avve++Hb9y4sVoVp2ePy/XarlYru/rRj974/ve/c+vW7eeff/+t W0+en1+cnT1er9cnJ0/0FJCpvu836tey3b6quOr/Dr0u6KevV+q/qJfknHPittsR3Bhz9R8m vvDmXvv/VO5aczMary//HtzIaj31xjRZe+WfdclvXf6zd/Oqs7RxFK/MZer/u3zRs+/Ola6t 1GzPdsnNEg6UdmjtzdPQ1XvUcdwDRer/88rimiV79Qh2fFOZ+thVe9HeWpEnbj5x+/bNX/7l /+rNt976iaeffvOtt0Tkm9/4Dx9/8UP/79e+LiJf//o3nHPPPfdsZJpvfevbb7zx+osvvhiZ xty69eQ73vETTzzxpNkev3pjy9KN+S4Ont8p38Fiug9t43NgGgVpgmfemG3o/oT07aFRX4nd iEtabC2m/s7oLMbNHlRbMMWFdcy+NGd1s13mg+Vw9atk+CnkJi2HcRfF+GR9X5qBM8pFP+b9 kcxMXGI9nyxzuXcru7p95+mnn37XvXs/fvPNN9brdX18y3UpRqyx1Xo3ReHEGOMuLximKIqn nvqJj77w0vPPv//tt9/6xjf+6Ic/+v75+VlZliJirTXGlGVZ/dNsP3JFcfT0O975vvd95H3v +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 rkJggg== --------------050000050903010104050202 Content-Type: text/x-patch; name="font_debug_bug15876.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="font_debug_bug15876.patch" === modified file 'src/alloc.c' --- src/alloc.c 2013-12-01 22:33:13 +0000 +++ src/alloc.c 2013-12-05 06:10:49 +0000 @@ -2877,7 +2877,12 @@ if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_FONT) && ((vector->header.size & PSEUDOVECTOR_SIZE_MASK) == FONT_OBJECT_MAX)) - ((struct font *) vector)->driver->close ((struct font *) vector); + { + if (((struct font *) vector)->debug) + fprintf (stderr, "GC%ld: free interesting font %p\n", + gcs_done, vector); + ((struct font *) vector)->driver->close ((struct font *) vector); + } } /* Reclaim space used by unmarked vectors. */ @@ -5733,6 +5738,14 @@ if (size & PSEUDOVECTOR_FLAG) size &= PSEUDOVECTOR_SIZE_MASK; + if (FONT_OBJECT_P (make_lisp_ptr (ptr, Lisp_Vectorlike))) + { + struct font *f = (struct font *) ptr; + if (f->debug) + fprintf (stderr, "GC%ld: mark interesting font %p\n", + gcs_done, f); + } + /* Note that this size is not the memory-footprint size, but only the number of Lisp_Object fields that we should trace. The distinction is used e.g. by Lisp_Process which places extra === modified file 'src/font.c' --- src/font.c 2013-12-04 13:08:30 +0000 +++ src/font.c 2013-12-05 06:00:56 +0000 @@ -188,6 +188,7 @@ int i; XSETFONT (font_object, font); + font->debug = 0; if (! NILP (entity)) { @@ -196,6 +197,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); @@ -4189,7 +4191,7 @@ the consecutive wildcards are folded into one. */) (Lisp_Object font, Lisp_Object fold_wildcards) { - char name[256]; + char name[256 + 32]; int namelen, pixel_size = 0; CHECK_FONT (font); @@ -4202,7 +4204,11 @@ && SDATA (font_name)[0] == '-') { if (NILP (fold_wildcards)) - return font_name; + { + XFONT_OBJECT (font)->debug = 1; + return make_formatted_string + (name, "%s (%p)", SSDATA (font_name), XFONT_OBJECT (font)); + } strcpy (name, SSDATA (font_name)); namelen = SBYTES (font_name); goto done; === modified file 'src/font.h' --- src/font.h 2013-12-04 13:35:41 +0000 +++ src/font.h 2013-12-05 05:59:31 +0000 @@ -285,6 +285,8 @@ /* Beyond here, there should be no more Lisp_Object components. */ + int debug; + /* Minimum and maximum glyph widths, in pixels. Some font backends, such as xft, lack the information to easily compute minimum and maximum widths over all characters; in that case, these values --------------050000050903010104050202-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 05 12:36:51 2013 Received: (at 15876) by debbugs.gnu.org; 5 Dec 2013 17:36:51 +0000 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 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 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) 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) Date: Thu, 05 Dec 2013 19:36:02 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <52A01D59.7030304@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > 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. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 11 01:53:25 2013 Received: (at 15876) by debbugs.gnu.org; 11 Dec 2013 06:53:25 +0000 Received: from localhost ([127.0.0.1]:42685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqdfg-0001tc-7E for submit@debbugs.gnu.org; Wed, 11 Dec 2013 01:53:25 -0500 Received: from forward20.mail.yandex.net ([95.108.253.145]:42045) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqdfb-0001tQ-2R for 15876@debbugs.gnu.org; Wed, 11 Dec 2013 01:53:21 -0500 Received: from smtp16.mail.yandex.net (smtp16.mail.yandex.net [95.108.252.16]) by forward20.mail.yandex.net (Yandex) with ESMTP id 2CFBB1041DCB; Wed, 11 Dec 2013 10:52:29 +0400 (MSK) Received: from smtp16.mail.yandex.net (localhost [127.0.0.1]) by smtp16.mail.yandex.net (Yandex) with ESMTP id D036A6A04C3; Wed, 11 Dec 2013 10:52:27 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp16.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id qV4sXjNZAn-qRBaYQEM; Wed, 11 Dec 2013 10:52:27 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1386744747; bh=FrA2wiXpXuX/aKj4xsdRPvb+K0anACSURSkgM82U27Y=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=B05bkZ0gSINQw9hJM/qThAacnNs6Dw7mPjOJjdkqNJG9yN7wcUhtvUuwG/+ZXUTBr k9fIfMAwXthoysY6GcQEgsddlSvUKU9XdoQVilEEvCAd0poU9FWP+HcgNHk18knifO O53S6g6NZ5UjyE1R6cD4al0TC8JL9c91kpoEESQQ= Authentication-Results: smtp16.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <52A80BA8.3050403@yandex.ru> Date: Wed, 11 Dec 2013 10:52:24 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Eli Zaretskii , 15876@debbugs.gnu.org Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> <83lhzz2oal.fsf@gnu.org> In-Reply-To: <83lhzz2oal.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------090800020005090804040203" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) This is a multi-part message in MIME format. --------------090800020005090804040203 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/05/2013 09:36 PM, Eli Zaretskii wrote: > 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. IMO the real problem is that redisplay sometimes isn't clever enough about requesting font for the particular character (0x25b7 in our case): #0 font_make_entity () at ../../trunk/src/font.c:169 #1 0x00000000005a8a3f in xfont_list_pattern (display=display@entry=0x1379260, pattern=pattern@entry=0x7fffffff7730 "-adobe-courier-*-*-*--*-*-*-*-*-*-iso10646-1", registry=registry@entry=12260082, script=script@entry=12084946) at ../../trunk/src/xfont.c:403 #2 0x00000000005a9059 in xfont_list (f=, spec=12183525) at ../../trunk/src/xfont.c:515 #3 0x0000000000563193 in font_list_entities (f=f@entry=0x111fd58, spec=spec@entry=15986301) at ../../trunk/src/font.c:2735 #4 0x0000000000563b42 in font_find_for_lface (f=f@entry=0x111fd58, attrs=attrs@entry=0x16b9510, spec=, c=c@entry=9655) at ../../trunk/src/font.c:3206 #5 0x00000000005a9d44 in fontset_find_font (fontset=18338269, c=c@entry=9655, face=face@entry=0x16b9510, id=id@entry=-1, fallback=fallback@entry=false) at ../../trunk/src/fontset.c:681 #6 0x00000000005aa210 in fontset_font (fontset=fontset@entry=17988749, c=c@entry=9655, face=face@entry=0x16b9510, id=-1) at ../../trunk/src/fontset.c:754 #7 0x00000000005aacb2 in face_for_char (f=0x111fd58, face=face@entry=0x16b9510, c=9655, pos=, object=) at ../../trunk/src/fontset.c:978 #8 0x000000000043cb45 in get_next_display_element (it=it@entry=0x7fffffff97f0) at ../../trunk/src/xdisp.c:6997 #9 0x0000000000441bc3 in display_line (it=it@entry=0x7fffffff97f0) at ../../trunk/src/xdisp.c:19593 #10 0x000000000044506a in try_window (window=window@entry=17964077, pos=..., flags=flags@entry=1) at ../../trunk/src/xdisp.c:16505 #11 0x000000000045ab57 in redisplay_window (window=17964077, just_this_one_p=just_this_one_p@entry=false) at ../../trunk/src/xdisp.c:16022 #12 0x000000000045cbf3 in redisplay_window_0 (window=window@entry=17964077) at ../../trunk/src/xdisp.c:14023 #13 0x000000000054d216 in internal_condition_case_1 (bfun=bfun@entry=0x45cbc0 , arg=17964077, handlers=, hfun=hfun@entry=0x4290a0 ) at ../../trunk/src/eval.c:1368 #14 0x000000000042d8ce in redisplay_windows (window=17964077) at ../../trunk/src/xdisp.c:14003 #15 0x000000000044a121 in redisplay_internal () at ../../trunk/src/xdisp.c:13602 Such a request produces a lot of font-entity objects, which are not needed (and becomes reachable only via font cache) after the "best match" font is selected for the particular character. Next, if font loading is too memory-intensive and gc_cons_threshold was hit, GC clears font cache. Next cursor movement triggers redisplay, which in turn asks for the "best match" for 0x25b7 again. If font cache is never cleared, this is acceptable because all possible matches (represented as a vector of font-entities) are cached. But, if font cache is cleared, font_list_entities calls to driver->list function, which creates a lot of font-entities again, etc., etc. Until we have somewhat smarter redisplay, possible solution is to clear font cache when it becomes larger than some specified size rather than at each GC. Now I have the virtual machine with Windows 7 installed, and this fix looks reasonable for me. Could you also please try it? Dmitry --------------090800020005090804040203 Content-Type: text/x-patch; name="font_cache_size_bug15876.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="font_cache_size_bug15876.patch" === modified file 'src/alloc.c' --- src/alloc.c 2013-12-09 08:23:01 +0000 +++ src/alloc.c 2013-12-11 05:38:41 +0000 @@ -5299,17 +5299,22 @@ #ifdef HAVE_WINDOW_SYSTEM +/* Rather arbitrary but willing to fix Bug#15876. */ + +#define FONT_CACHE_THRESHOLD 4096 + /* Remove unmarked font-spec and font-entity objects from ENTRY, which is (DRIVER-TYPE NUM-FRAMES FONT-CACHE-DATA ...), and return changed entry. */ static Lisp_Object -compact_font_cache_entry (Lisp_Object entry) +compact_font_cache_entry (struct terminal *t, Lisp_Object entry) { Lisp_Object tail, *prev = &entry; for (tail = entry; CONSP (tail); tail = XCDR (tail)) { bool drop = 0; + ptrdiff_t size = 0; Lisp_Object obj = XCAR (tail); /* Consider OBJ if it is (font-spec . [font-entity font-entity ...]). */ @@ -5317,8 +5322,9 @@ && !VECTOR_MARKED_P (XFONT_SPEC (XCAR (obj))) && VECTORP (XCDR (obj))) { - ptrdiff_t i, size = ASIZE (XCDR (obj)) & ~ARRAY_MARK_FLAG; + ptrdiff_t i; + size = ASIZE (XCDR (obj)) & ~ARRAY_MARK_FLAG; /* If font-spec is not marked, most likely all font-entities are not marked too. But we must be sure that nothing is marked within OBJ before we really drop it. */ @@ -5330,7 +5336,11 @@ drop = 1; } if (drop) - *prev = XCDR (tail); + { + *prev = XCDR (tail); + /* Count font-spec and vector of font-entities. */ + FONT_CACHE_SIZE (t) -= (size + 1); + } else prev = xcdr_addr (tail); } @@ -5351,10 +5361,20 @@ if (CONSP (cache)) { - Lisp_Object entry; + eassert (FONT_CACHE_SIZE (t) >= 0); + if (FONT_CACHE_SIZE (t) > FONT_CACHE_THRESHOLD) + { + Lisp_Object entry; - for (entry = XCDR (cache); CONSP (entry); entry = XCDR (entry)) - XSETCAR (entry, compact_font_cache_entry (XCAR (entry))); + fprintf (stderr, "GC%ld: font cache compaction %ld -> ", + gcs_done, FONT_CACHE_SIZE (t)); + for (entry = XCDR (cache); CONSP (entry); entry = XCDR (entry)) + XSETCAR (entry, compact_font_cache_entry (t, XCAR (entry))); + fprintf (stderr, "%ld\n", FONT_CACHE_SIZE (t)); + } + else + fprintf (stderr, "GC%ld: font cache too small (%d <= %d)\n", + gcs_done, FONT_CACHE_SIZE (t), FONT_CACHE_THRESHOLD); } mark_object (cache); } === modified file 'src/font.c' --- src/font.c 2013-12-10 03:36:36 +0000 +++ src/font.c 2013-12-11 05:35:25 +0000 @@ -2740,6 +2740,8 @@ copy = copy_font_spec (scratch_font_spec); ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); + /* Count font-spec and a vector of font-entities. */ + FONT_CACHE_SIZE (f->terminal) += ASIZE (val) + 1; } if (ASIZE (val) > 0 && (need_filtering @@ -2793,6 +2795,8 @@ copy = copy_font_spec (work); ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); XSETCDR (cache, Fcons (Fcons (copy, entity), XCDR (cache))); + /* Count font-spec and entity. */ + FONT_CACHE_SIZE (f->terminal) += 2; } if (! NILP (entity)) break; === modified file 'src/nsterm.h' --- src/nsterm.h 2013-12-07 16:48:12 +0000 +++ src/nsterm.h 2013-12-11 05:35:25 +0000 @@ -560,6 +560,9 @@ /* This is a cons cell of the form (NAME . FONT-LIST-CACHE). */ Lisp_Object name_list_element; + /* Amount of font-entities and font-specs objects in the cache above. */ + ptrdiff_t font_cache_size; + /* The number of fonts loaded. */ int n_fonts; === modified file 'src/termhooks.h' --- src/termhooks.h 2013-10-18 12:57:44 +0000 +++ src/termhooks.h 2013-12-11 05:35:25 +0000 @@ -628,12 +628,15 @@ #if defined (HAVE_X_WINDOWS) #define TERMINAL_FONT_CACHE(t) \ (t->type == output_x_window ? t->display_info.x->name_list_element : Qnil) +#define FONT_CACHE_SIZE(t) (t)->display_info.x->font_cache_size #elif defined (HAVE_NTGUI) #define TERMINAL_FONT_CACHE(t) \ (t->type == output_w32 ? t->display_info.w32->name_list_element : Qnil) +#define FONT_CACHE_SIZE(t) (t)->display_info.w32->font_cache_size #elif defined (HAVE_NS) #define TERMINAL_FONT_CACHE(t) \ (t->type == output_ns ? t->display_info.ns->name_list_element : Qnil) +#define FONT_CACHE_SIZE(t) (t)->display_info.ns->font_cache_size #endif extern struct terminal *get_terminal (Lisp_Object terminal, bool); === modified file 'src/w32term.h' --- src/w32term.h 2013-12-02 13:35:53 +0000 +++ src/w32term.h 2013-12-11 05:35:25 +0000 @@ -74,6 +74,9 @@ /* This is a cons cell of the form (NAME . FONT-LIST-CACHE). */ Lisp_Object name_list_element; + /* Amount of font-entities and font-specs objects in the cache above. */ + ptrdiff_t font_cache_size; + /* Number of frames that are on this display. */ int reference_count; === modified file 'src/xterm.h' --- src/xterm.h 2013-12-07 23:04:10 +0000 +++ src/xterm.h 2013-12-11 05:35:25 +0000 @@ -140,6 +140,9 @@ /* This is a cons cell of the form (NAME . FONT-LIST-CACHE). */ Lisp_Object name_list_element; + /* Amount of font-entities and font-specs objects in the cache above. */ + ptrdiff_t font_cache_size; + /* Number of frames that are on this display. */ int reference_count; --------------090800020005090804040203-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 11 02:16:37 2013 Received: (at submit) by debbugs.gnu.org; 11 Dec 2013 07:16:37 +0000 Received: from localhost ([127.0.0.1]:42708 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqe27-0003aE-Td for submit@debbugs.gnu.org; Wed, 11 Dec 2013 02:16:36 -0500 Received: from eggs.gnu.org ([208.118.235.92]:34066) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqe24-0003a2-Dx for submit@debbugs.gnu.org; Wed, 11 Dec 2013 02:16:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vqe1x-0003Nf-V0 for submit@debbugs.gnu.org; Wed, 11 Dec 2013 02:16:32 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:49234) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vqe1x-0003Nb-RJ for submit@debbugs.gnu.org; Wed, 11 Dec 2013 02:16:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35763) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vqe1s-0005jm-8c for bug-gnu-emacs@gnu.org; Wed, 11 Dec 2013 02:16:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vqe1l-0003LF-Vb for bug-gnu-emacs@gnu.org; Wed, 11 Dec 2013 02:16:20 -0500 Received: from smtpo15.poczta.onet.pl ([213.180.142.146]:41612) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vqe1l-0003Ky-L4 for bug-gnu-emacs@gnu.org; Wed, 11 Dec 2013 02:16:13 -0500 Received: from [192.168.17.9] (cj.e-siemianowice.pl [95.215.234.30]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: jarekczek@poczta.onet.pl) by smtp.poczta.onet.pl (Onet) with ESMTPSA id 3dfTvb2YhfzZDDHS for ; Wed, 11 Dec 2013 08:16:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poczta.onet.pl; s=2011; t=1386746171; bh=KTbr1/UrCC/icc4+NkqQkxHq0J7LjIJ7L4jaYAvnUDs=; h=Message-ID:Date:From:MIME-Version:To:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=Wv/mONJ7LidFYHCUhDaOoW916jXdMUFFxafISZpxXe8/8nEfW3eah/xKf2cpY+EJW +coriWwE/09eBviqxCaNhKa8dIGu3CI2DV0R2KaOFRG0ukDDxYA2o25FrHhOlEj57q oJRXeK6RfjGe6PCdBMtYQdIO5mauVqQOmUFox6ms= Message-ID: <52A81139.8040909@poczta.onet.pl> Date: Wed, 11 Dec 2013 08:16:09 +0100 From: Jarek Czekalski User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120824 Thunderbird/15.0 MIME-Version: 1.0 To: bug-gnu-emacs@gnu.org Subject: Re: [SPAM] bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> In-Reply-To: <52A80BA8.3050403@yandex.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) W dniu 2013-12-11 07:52, Dmitry Antipov pisze: > On 12/05/2013 09:36 PM, Eli Zaretskii wrote: > Next cursor movement triggers redisplay, which in turn asks for the "best > match" for 0x25b7 again. > It would be nice if the results of the "best match" calls were remembered. Assuming that the fonts don't change during Emacs run time. Jarek From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 11 04:24:43 2013 Received: (at 15876) by debbugs.gnu.org; 11 Dec 2013 09:24:44 +0000 Received: from localhost ([127.0.0.1]:42799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqg27-0006jy-Ce for submit@debbugs.gnu.org; Wed, 11 Dec 2013 04:24:43 -0500 Received: from forward9l.mail.yandex.net ([84.201.143.142]:60495) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqg25-0006jo-5L for 15876@debbugs.gnu.org; Wed, 11 Dec 2013 04:24:42 -0500 Received: from smtp16.mail.yandex.net (smtp16.mail.yandex.net [95.108.252.16]) by forward9l.mail.yandex.net (Yandex) with ESMTP id 914A7E60D91; Wed, 11 Dec 2013 13:24:39 +0400 (MSK) Received: from smtp16.mail.yandex.net (localhost [127.0.0.1]) by smtp16.mail.yandex.net (Yandex) with ESMTP id 330E56A00F4; Wed, 11 Dec 2013 13:24:39 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp16.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id WfZZah1shA-OcB0grQh; Wed, 11 Dec 2013 13:24:38 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1386753878; bh=oDYQa1ksSlknVQvUWlFRKJbVYbfk+zkew3fTxwbJISs=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=hfiZYk5sNDmKS+Taoiz3+gs21ljdOnybZ2Fz3amxcimdk50QLYMIRkg2gml3NgLEF PVY1eQnTBW0sPtfYOrdWbrasNLWoBViB9tAnqHqWneENOk1A+J5UsNgmnqw5OvT8gO IoPvKYQqB3ih4Cg589Snu8YWQJ4o9uhgannyAAG0= Authentication-Results: smtp16.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <52A82F56.1020204@yandex.ru> Date: Wed, 11 Dec 2013 13:24:38 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Jarek Czekalski Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <52A81139.8040909@poczta.onet.pl> In-Reply-To: <52A81139.8040909@poczta.onet.pl> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15876 Cc: 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 12/11/2013 11:16 AM, Jarek Czekalski wrote: > It would be nice if the results of the "best match" calls were remembered. Sure. But currently font cache remembers not the "best match" X but the vector [X0 X1 ... Xn] which was used to select X for the last time. Under some circumstances (in particular, when a lot of fonts are loaded), font cache tends to grow too much (see http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00740.html). > Assuming that the fonts don't change during Emacs run time. This assumption is wrong. Although explicit font change is rarely done by the most of users, new fonts may be loaded quite often - to display an "unusual" character which has no glyph in current font, to display something under M-x customize, etc. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 11 11:29:02 2013 Received: (at 15876) by debbugs.gnu.org; 11 Dec 2013 16:29:02 +0000 Received: from localhost ([127.0.0.1]:44066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqmej-0002kN-CR for submit@debbugs.gnu.org; Wed, 11 Dec 2013 11:29:01 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:52465) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqmef-0002k8-Og for 15876@debbugs.gnu.org; Wed, 11 Dec 2013 11:28:59 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MXN00F00HL09J00@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Wed, 11 Dec 2013 18:28:33 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MXN00F82HRK3F60@a-mtaout22.012.net.il>; Wed, 11 Dec 2013 18:28:33 +0200 (IST) Date: Wed, 11 Dec 2013 18:28:31 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <52A80BA8.3050403@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov Message-id: <83ob4nwdw0.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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 11 Dec 2013 10:52:24 +0400 > From: Dmitry Antipov > CC: sva-news@mygooglest.com > > IMO the real problem is that redisplay sometimes isn't clever enough about requesting > font for the particular character (0x25b7 in our case): Not sure if this is for redisplay to solve. Redisplay just needs a face for displaying a character, it knows (almost) nothing about fonts and fontsets. It's the font selection machinery that needs to become smarter, I think. > Such a request produces a lot of font-entity objects, which are not needed (and becomes > reachable only via font cache) after the "best match" font is selected for the particular > character. Next, if font loading is too memory-intensive and gc_cons_threshold was hit, GC > clears font cache. Next cursor movement triggers redisplay, which in turn asks for the "best > match" for 0x25b7 again. If font cache is never cleared, this is acceptable because all possible > matches (represented as a vector of font-entities) are cached. But, if font cache is cleared, > font_list_entities calls to driver->list function, which creates a lot of font-entities again, > etc., etc. Right, this matches my observations. Did you succeed in finding which function in this call sequence is the performance bottleneck? > Until we have somewhat smarter redisplay, possible solution is to clear font cache when it > becomes larger than some specified size rather than at each GC. Now I have the virtual machine > with Windows 7 installed, and this fix looks reasonable for me. Could you also please try it? It solves the immediate problem with this single character, but if I add a few others from other Unicode blocks, the problem reappears. This is because the threshold of 4096 seems to be too low: I've seen the number go above 10K a couple of times. Anyway, what about the patch below? With it, the problem disappears even without your "threshold" based GC. We could be even more aggressive, and search also the face caches on all frames (but then, if found, the face needs to be cached on the current frame as well, before using it) -- this is left as an exercise ;-) The problem with this approach is that there's no guarantee we will find a "best-match" font for a character. However, I displayed etc/HELLO with and without the patch, and didn't see any difference. Maybe some font selection expert could tell if we lose anything important by going this way. Note that NS was already reusing the argument FACE (but it alone) in this way. --- src/fontset.c~ 2013-11-05 06:42:21.000000000 +0200 +++ src/fontset.c 2013-12-11 11:30:03.909213300 +0200 @@ -937,7 +937,6 @@ if (ASCII_CHAR_P (c) || face->fontset < 0) return face->ascii_face->id; -#ifdef HAVE_NS if (face->font) { /* Fonts often have characters in other scripts, like symbol, even if they @@ -946,9 +945,22 @@ perhaps be general? */ Lisp_Object font_object; XSETFONT (font_object, face->font); - if (font_has_char (f, font_object, c)) return face->id; + if (font_has_char (f, font_object, c)) + return face->id; + } + + for (face_id = 0; face_id < FRAME_FACE_CACHE (f)->used; face_id++) + { + struct face *this_face = FACE_FROM_ID (f, face_id); + + if (this_face != face && this_face->font) + { + Lisp_Object font_object; + XSETFONT (font_object, this_face->font); + if (font_has_char (f, font_object, c)) + return this_face->id; + } } -#endif eassert (fontset_id_valid_p (face->fontset)); fontset = FONTSET_FROM_ID (face->fontset); From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 11 13:00:56 2013 Received: (at 15876) by debbugs.gnu.org; 11 Dec 2013 18:00:56 +0000 Received: from localhost ([127.0.0.1]:44186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqo5f-0006A9-MS for submit@debbugs.gnu.org; Wed, 11 Dec 2013 13:00:55 -0500 Received: from forward15.mail.yandex.net ([95.108.130.119]:35530) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqo5b-00069w-Gr for 15876@debbugs.gnu.org; Wed, 11 Dec 2013 13:00:52 -0500 Received: from smtp12.mail.yandex.net (smtp12.mail.yandex.net [95.108.131.191]) by forward15.mail.yandex.net (Yandex) with ESMTP id E9C9A9E2A20; Wed, 11 Dec 2013 22:00:49 +0400 (MSK) Received: from smtp12.mail.yandex.net (localhost [127.0.0.1]) by smtp12.mail.yandex.net (Yandex) with ESMTP id 8E46A16A0020; Wed, 11 Dec 2013 22:00:49 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp12.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id 5xtkd4AOqj-0nU4crFe; Wed, 11 Dec 2013 22:00:49 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1386784849; bh=G8P48Dl8SVpSeBVxKajPsxMOs5rYDIW57D8IZdgyHYo=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=wQQqMYRKCr0LW+V/BR1FuP/bjYN5f+jIipmlST1WM4SnbUMGyxggF49qKoa9sHjbS 8yhsbFf8Ex9z5rqRlTUiQSizc5+mjyr3AEHtSMJSTKc1ygRMp2uS3wPUgau+u0jQD9 T1hthk47aRz70xcHBmWAvnJ7avetNgxuzIZCPVUA= Authentication-Results: smtp12.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <52A8A850.8040302@yandex.ru> Date: Wed, 11 Dec 2013 22:00:48 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> In-Reply-To: <83ob4nwdw0.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 12/11/2013 08:28 PM, Eli Zaretskii wrote: > Right, this matches my observations. Did you succeed in finding which > function in this call sequence is the performance bottleneck? Usually this is font_driver->list (xfont_list, w32font_list, etc), which can create a lot of font-entity objects. > Anyway, what about the patch below? With it, the problem disappears > even without your "threshold" based GC. Looks good. But can we assume that FACE_FROM_ID (...) is always non-NULL? Some important routines, like mark_face_cache, do not rely on this. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 11 13:12:17 2013 Received: (at 15876) by debbugs.gnu.org; 11 Dec 2013 18:12:17 +0000 Received: from localhost ([127.0.0.1]:44190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VqoGf-0006Qk-7O for submit@debbugs.gnu.org; Wed, 11 Dec 2013 13:12:17 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:42729) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VqoGb-0006QW-46 for 15876@debbugs.gnu.org; Wed, 11 Dec 2013 13:12:14 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MXN00G00MBJ2800@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Wed, 11 Dec 2013 20:12:11 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MXN00FSFMKAUR80@a-mtaout22.012.net.il>; Wed, 11 Dec 2013 20:12:11 +0200 (IST) Date: Wed, 11 Dec 2013 20:12:08 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <52A8A850.8040302@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov , Kenichi Handa , Jan =?utf-8?Q?Dj=C3=A4rv?= Message-id: <83k3fb6yvb.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8bit 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 11 Dec 2013 22:00:48 +0400 > From: Dmitry Antipov > CC: 15876@debbugs.gnu.org, sva-news@mygooglest.com > > > Anyway, what about the patch below? With it, the problem disappears > > even without your "threshold" based GC. > > Looks good. But can we assume that FACE_FROM_ID (...) is always non-NULL? > Some important routines, like mark_face_cache, do not rely on this. I think you are right, and we should make sure it's non-NULL before dereferencing. Jan, Ken'ichi, would you please comment on this? Are we losing something by reusing already loaded fonts that support a given character, as opposed to looking for the "best-match" font? From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 11 14:50:25 2013 Received: (at 15876) by debbugs.gnu.org; 11 Dec 2013 19:50:25 +0000 Received: from localhost ([127.0.0.1]:44257 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vqpnb-0000MH-QZ for submit@debbugs.gnu.org; Wed, 11 Dec 2013 14:50:24 -0500 Received: from mailfe05.swip.net ([212.247.154.129]:47860 helo=swip.net) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VqpnW-0000M5-Th for 15876@debbugs.gnu.org; Wed, 11 Dec 2013 14:50:20 -0500 X-T2-Spam-Status: No, hits=0.0 required=5.0 Received: from hosdjarv.se (account mj138573@tele2.se [46.59.42.57] verified) by mailfe05.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 455626500; Wed, 11 Dec 2013 20:50:16 +0100 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1822\)) Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 From: =?iso-8859-1?Q?Jan_Dj=E4rv?= In-Reply-To: <83k3fb6yvb.fsf@gnu.org> Date: Wed, 11 Dec 2013 20:50:12 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.1822) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, Kenichi Handa , 15876@debbugs.gnu.org, Dmitry Antipov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hello. 11 dec 2013 kl. 19:12 skrev Eli Zaretskii : >> Date: Wed, 11 Dec 2013 22:00:48 +0400 >> From: Dmitry Antipov >> CC: 15876@debbugs.gnu.org, sva-news@mygooglest.com >>=20 >>> Anyway, what about the patch below? With it, the problem disappears >>> even without your "threshold" based GC. >>=20 >> Looks good. But can we assume that FACE_FROM_ID (...) is always = non-NULL? >> Some important routines, like mark_face_cache, do not rely on this. >=20 > I think you are right, and we should make sure it's non-NULL before > dereferencing. >=20 > Jan, Ken'ichi, would you please comment on this? Are we losing > something by reusing already loaded fonts that support a given > character, as opposed to looking for the "best-match" font? See discussion starting here = http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15138#29: Kenichi Handa wrote: I agree that this change improves font selection for symbols, but it's not good for many scripts for which just having a glyph is not enough. For instance, if the default font has Hindi glyphs but doesn't have the OTF features for Hindi script, we must find another proper font for Hindi. How about modifying the current fontset mechanism as this? (1) Allow t for FONT-SPEC of set-fontset-font to tell that the default font should be tried. (2) Modiyf the default fontset to include `t' as the font-spec for scripts/characters for which the default font is ok. Jan D. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 13 10:23:27 2013 Received: (at 15876) by debbugs.gnu.org; 13 Dec 2013 15:23:27 +0000 Received: from localhost ([127.0.0.1]:48641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrUaL-0004Hh-Hf for submit@debbugs.gnu.org; Fri, 13 Dec 2013 10:23:26 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:55084) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrUa8-0004HL-8W for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 10:23:22 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MXR00E00407V800@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 17:22:38 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MXR00E0541PMG90@a-mtaout22.012.net.il>; Fri, 13 Dec 2013 17:22:38 +0200 (IST) Date: Fri, 13 Dec 2013 17:22:37 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: X-012-Sender: halo1@inter.net.il To: Jan =?iso-8859-1?Q?Dj=E4rv?= Message-id: <837gb86aiq.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8BIT 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, handa@gnu.org, 15876@debbugs.gnu.org, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Jan Djärv > Date: Wed, 11 Dec 2013 20:50:12 +0100 > Cc: Dmitry Antipov , > Kenichi Handa , > 15876@debbugs.gnu.org, > sva-news@mygooglest.com > > > Jan, Ken'ichi, would you please comment on this? Are we losing > > something by reusing already loaded fonts that support a given > > character, as opposed to looking for the "best-match" font? > > See discussion starting here http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15138#29: > > Kenichi Handa wrote: > > I agree that this change improves font selection for > symbols, but it's not good for many scripts for which just > having a glyph is not enough. For instance, if the default > font has Hindi glyphs but doesn't have the OTF features for > Hindi script, we must find another proper font for Hindi. > > How about modifying the current fontset mechanism as this? > > (1) Allow t for FONT-SPEC of set-fontset-font to tell that > the default font should be tried. > (2) Modiyf the default fontset to include `t' as the > font-spec for scripts/characters for which the default > font is ok. I see. But then why does the NS build still use a variant of that approach? How is it exempt from what Handa-san wrote above? Anyway, the more I look into this problem, the more I'm beginning to think that we should simply revert this font-cache compacting. Here's my reasoning: . The latest approach suggested by Dmitry (before my suggestion) was to use some more or less arbitrary threshold to decide whether or not to compact the font caches. I tried playing with that approach, and found that I need to bump the threshold to something like 30K, before I get reasonable performance in a buffer full of unusual characters. . But raising the threshold higher simply means we defer the compaction more and more, to the point where we have no compaction at all. IOW, doing this is equivalent to deleting that code altogether. . 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. So let me turn the table and ask what do we gain by this compaction? The original motivation was here: http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00740.html but it was mainly about not releasing the fonts. With the current trunk, if I run that bloat-font function, after disabling the compaction code, I see only a small increase in the memory footprint, something like 30MB, at least on Windows. Do you see something different on X? If the growth of the memory footprint is small even in such an extreme situation, then perhaps we don't need this compaction? From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 13 11:13:07 2013 Received: (at 15876) by debbugs.gnu.org; 13 Dec 2013 16:13:07 +0000 Received: from localhost ([127.0.0.1]:48703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrVMP-0005fg-Sh for submit@debbugs.gnu.org; Fri, 13 Dec 2013 11:13:06 -0500 Received: from forward9l.mail.yandex.net ([84.201.143.142]:36244) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrVML-0005fD-RN for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 11:13:02 -0500 Received: from smtp4o.mail.yandex.net (smtp4o.mail.yandex.net [37.140.190.29]) by forward9l.mail.yandex.net (Yandex) with ESMTP id 73287E60EA4; Fri, 13 Dec 2013 20:13:00 +0400 (MSK) Received: from smtp4o.mail.yandex.net (localhost [127.0.0.1]) by smtp4o.mail.yandex.net (Yandex) with ESMTP id EEEE72320A10; Fri, 13 Dec 2013 20:12:59 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp4o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id LJts29Tnq1-Cxm85TJe; Fri, 13 Dec 2013 20:12:59 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1386951179; bh=3sWiAyYNeuzUOotzwUnzZmtjvoWet1t1ryYnqk/i4I0=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=lRQFx3YlvFhc75/Lt9r0gOyOAz1zzSwxw7hJEoBpbT3cwFxjeJw9wzgqGG5b1Xa0U XDgUtUSicwnPEONJ54DU+iuDeMp88w394w5jdt/1J9CDVbDurEm2K1lMD9t/TkqMaF wZ9la2wi8eY9GHmW0QfyoyB8kfC7rd+cdZtgdrn4= Authentication-Results: smtp4o.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <52AB320B.9020203@yandex.ru> Date: Fri, 13 Dec 2013 20:12:59 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii , =?ISO-8859-1?Q?Jan_Dj=E4rv?= Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> In-Reply-To: <837gb86aiq.fsf@gnu.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 12/13/2013 07:22 PM, Eli Zaretskii wrote: > So let me turn the table and ask what do we gain by this compaction? > The original motivation was here: > > http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00740.html > > but it was mainly about not releasing the fonts. With the current > trunk, if I run that bloat-font function, after disabling the > compaction code, I see only a small increase in the memory footprint, > something like 30MB, at least on Windows. Do you see something > different on X? In that e-mail, I reported about ~360M RSS usage reduced to ~150M. In http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00750.html, Stefan has confirmed ~300M RSS usage. Although things like bloat-font aren't typical use cases, holding ~200M which we can't reuse is worth trying to fix, IMHO. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 13 11:45:23 2013 Received: (at 15876) by debbugs.gnu.org; 13 Dec 2013 16:45:23 +0000 Received: from localhost ([127.0.0.1]:48731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrVrf-0006VS-3e for submit@debbugs.gnu.org; Fri, 13 Dec 2013 11:45:23 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:57622) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrVrc-0006VI-By for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 11:45:20 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id rBDGjG8R026687; Fri, 13 Dec 2013 11:45:17 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id DDB14AE21D; Fri, 13 Dec 2013 11:45:15 -0500 (EST) From: Stefan Monnier To: Dmitry Antipov Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Message-ID: References: <867gcdiqji.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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> <52AB320B.9020203@yandex.ru> Date: Fri, 13 Dec 2013 11:45:15 -0500 In-Reply-To: <52AB320B.9020203@yandex.ru> (Dmitry Antipov's message of "Fri, 13 Dec 2013 20:12:59 +0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV4791=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4791> : inlines <321> : streams <1090246> : uri <1622900> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, Eli Zaretskii , Jan =?windows-1252?Q?Dj=E4rv?= , 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) > aren't typical use cases, holding ~200M which we can't reuse is worth > trying to fix, IMHO. Actually, we *can* reuse that memory, but only by selecting those fonts again. I agree with Eli: the benefit is very small. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 13 11:50:59 2013 Received: (at 15876) by debbugs.gnu.org; 13 Dec 2013 16:50:59 +0000 Received: from localhost ([127.0.0.1]:48736 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrVx4-0006dq-Cq for submit@debbugs.gnu.org; Fri, 13 Dec 2013 11:50:59 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:57614) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrVx0-0006df-T1 for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 11:50:55 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.DIT.UMontreal.CA (8.14.1/8.14.1) with ESMTP id rBDGonVo012413; Fri, 13 Dec 2013 11:50:51 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 344ADAE21D; Fri, 13 Dec 2013 11:50:49 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Message-ID: References: <867gcdiqji.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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> Date: Fri, 13 Dec 2013 11:50:49 -0500 In-Reply-To: <837gb86aiq.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 13 Dec 2013 17:22:37 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4791=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4791> : inlines <321> : streams <1090247> : uri <1622905> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org, Jan =?windows-1252?Q?Dj=E4rv?= , dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) > . 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. - every now and then (ha ha!), we let the GC collect fonts that don't have their "in_use" bit set. The now-and-then could be something as "at least N seconds passed and we've done at least M garbage collections". Still, the effort doesn't seem worth the trouble, since the benefit is too small (only appears in pathological cases). Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 13 13:44:07 2013 Received: (at 15876) by debbugs.gnu.org; 13 Dec 2013 18:44:08 +0000 Received: from localhost ([127.0.0.1]:48821 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrXiZ-0004St-H2 for submit@debbugs.gnu.org; Fri, 13 Dec 2013 13:44:07 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:60453) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrXiW-0004Sf-FO for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 13:44:06 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MXR00G00CN1CW00@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 20:44:02 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MXR00G7QDDB9080@a-mtaout22.012.net.il>; Fri, 13 Dec 2013 20:44:00 +0200 (IST) Date: Fri, 13 Dec 2013 20:44:00 +0200 Sun-Java-System-SMTP-Warning: Lines longer than SMTP allows found and truncated. From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: <52AB320B.9020203@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov Message-id: <83y53o4mmn.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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> <52AB320B.9@[87.69.4.28]> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org, jan.h.d@swipnet.se X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 13 Dec 2013 20:12:59 +0400 > From: Dmitry Antipov > CC: sva-news@mygooglest.com, 15876@debbugs.gnu.org > > > http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00740.html > > > > but it was mainly about not releasing the fonts. With the current > > trunk, if I run that bloat-font function, after disabling the > > compaction code, I see only a small increase in the memory footprint, > > something like 30MB, at least on Windows. Do you see something > > different on X? > > In that e-mail, I reported about ~360M RSS usage reduced to ~150M. > In http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00750.html, > Stefan has confirmed ~300M RSS usage. Although things like bloat-font > aren't typical use cases, holding ~200M which we can't reuse is worth > trying to fix, IMHO. Yes, but to fix that you installed more than just the compacting code. In any case, if without compact_font_caches you still have such a large increase in the memory footprint, it seems like that problem is specific to X, while on Windows the cure is worse than the disease. So if no other solution presents itself, I'm inclined to ifdef away that code for Windows, if you don't mind. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 13 13:53:32 2013 Received: (at 15876) by debbugs.gnu.org; 13 Dec 2013 18:53:32 +0000 Received: from localhost ([127.0.0.1]:48830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrXrf-0004hW-Gl for submit@debbugs.gnu.org; Fri, 13 Dec 2013 13:53:32 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:62056) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrXrZ-0004hJ-JC for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 13:53:27 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MXR00G00DQJHC00@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 20:53:24 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MXR00GMBDSZ9V90@a-mtaout22.012.net.il>; Fri, 13 Dec 2013 20:53:24 +0200 (IST) Date: Fri, 13 Dec 2013 20:53:24 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <83txec4m6z.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8BIT References: <867gcdiqji.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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> <52AB320B.9020203@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org, dmantipov@yandex.ru, jan.h.d@swipnet.se X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: Eli Zaretskii , > Jan Djärv > , > sva-news@mygooglest.com, 15876@debbugs.gnu.org > Date: Fri, 13 Dec 2013 11:45:15 -0500 > > > aren't typical use cases, holding ~200M which we can't reuse is worth > > trying to fix, IMHO. > > Actually, we *can* reuse that memory, but only by selecting those > fonts again. I agree with Eli: the benefit is very small. The problem is not with fonts, it is with font-entities stored in a font cache. For some reason that I cannot understand, Emacs needs to consult the font cache when it looks for a font suitable for displaying a character, even when the character was already displayed, and the face (including the font) used for its display was already realized and cached in the frame's face cache. I don't understand the font selection machinery enough to see why is that necessary. But the upshot of all this is that the face and the font do exist, but the face-entities for that font are GC'ed, and that triggers the whole process of discovering the available fonts in the available fontsets again, each time Emacs displays the character. So if that discovery process conses a lot, it is likely to trigger GC, which will discard the font-entities, etc. etc. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 13 13:55:31 2013 Received: (at 15876) by debbugs.gnu.org; 13 Dec 2013 18:55:32 +0000 Received: from localhost ([127.0.0.1]:48835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrXta-0004l2-OD for submit@debbugs.gnu.org; Fri, 13 Dec 2013 13:55:31 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:62401) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrXtW-0004kp-Ri for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 13:55:28 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MXR00G00DQJHC00@a-mtaout22.012.net.il> for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 20:55:26 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MXR00G52DW690B0@a-mtaout22.012.net.il>; Fri, 13 Dec 2013 20:55:19 +0200 (IST) Date: Fri, 13 Dec 2013 20:55:19 +0200 From: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <83sitw4m3s.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8BIT References: <867gcdiqji.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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org, jan.h.d@swipnet.se, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: Jan Djärv , > sva-news@mygooglest.com, 15876@debbugs.gnu.org, dmantipov@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. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 13 21:13:15 2013 Received: (at 15876) by debbugs.gnu.org; 14 Dec 2013 02:13:15 +0000 Received: from localhost ([127.0.0.1]:49031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrejC-0000tV-T4 for submit@debbugs.gnu.org; Fri, 13 Dec 2013 21:13:15 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:56877) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrejB-0000tL-7r for 15876@debbugs.gnu.org; Fri, 13 Dec 2013 21:13:13 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.DIT.UMontreal.CA (8.14.1/8.14.1) with ESMTP id rBE2D7xX012260; Fri, 13 Dec 2013 21:13:08 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 6920CAE21D; Fri, 13 Dec 2013 21:13:07 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 Message-ID: References: <867gcdiqji.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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> <83sitw4m3s.fsf@gnu.org> Date: Fri, 13 Dec 2013 21:13:07 -0500 In-Reply-To: <83sitw4m3s.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 13 Dec 2013 20:55:19 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4791=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4791> : inlines <324> : streams <1090487> : uri <1623310> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org, jan.h.d@swipnet.se, dmantipov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) >> - every time we use a font, we set an "in_use" bit. ^^^^ font-entity >> - every now and then (ha ha!), we let the GC collect fonts that don't >> have their "in_use" bit set. ^^^ and reset that bit to false. -- Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 14 03:47:18 2013 Received: (at 15876) by debbugs.gnu.org; 14 Dec 2013 08:47:18 +0000 Received: from localhost ([127.0.0.1]:49191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrksX-000369-Hn for submit@debbugs.gnu.org; Sat, 14 Dec 2013 03:47:17 -0500 Received: from mailfe01.swip.net ([212.247.154.1]:35703 helo=swip.net) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrksU-00035z-Cr for 15876@debbugs.gnu.org; Sat, 14 Dec 2013 03:47:15 -0500 X-T2-Spam-Status: No, hits=0.8 required=5.0 tests=BAYES_50 Received: from hosdjarv.se (account mj138573@tele2.se [46.59.42.57] verified) by mailfe01.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 463934897; Sat, 14 Dec 2013 09:47:12 +0100 Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1822\)) Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 From: =?iso-8859-1?Q?Jan_Dj=E4rv?= In-Reply-To: <837gb86aiq.fsf@gnu.org> Date: Sat, 14 Dec 2013 09:47:11 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.1822) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, Kenichi Handa , 15876@debbugs.gnu.org, Dmitry Antipov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hello. 13 dec 2013 kl. 16:22 skrev Eli Zaretskii : >> From: Jan Dj=E4rv >> Date: Wed, 11 Dec 2013 20:50:12 +0100 >> Cc: Dmitry Antipov , >> Kenichi Handa , >> 15876@debbugs.gnu.org, >> sva-news@mygooglest.com >>=20 >>> Jan, Ken'ichi, would you please comment on this? Are we losing >>> something by reusing already loaded fonts that support a given >>> character, as opposed to looking for the "best-match" font? >>=20 >> See discussion starting here = http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15138#29: >>=20 >> Kenichi Handa wrote: >>=20 >> I agree that this change improves font selection for >> symbols, but it's not good for many scripts for which just >> having a glyph is not enough. For instance, if the default >> font has Hindi glyphs but doesn't have the OTF features for >> Hindi script, we must find another proper font for Hindi. >>=20 >> How about modifying the current fontset mechanism as this? >>=20 >> (1) Allow t for FONT-SPEC of set-fontset-font to tell that >> the default font should be tried. >> (2) Modiyf the default fontset to include `t' as the >> font-spec for scripts/characters for which the default >> font is ok. >=20 > I see. But then why does the NS build still use a variant of that > approach? How is it exempt from what Handa-san wrote above? When this was done, NS only had nsfont.m where OTF features are ignored = (i.e. not implemented) except for script. Since then we have macfont.m but it does the same. There might be a case where the fontset contains two fonts that contains = the same glyph and that we by this code selects the non-preferred one. = But this is highly theoretical, I would like to see a real example where = this choice actually matter.=20 BTW it was said that the font backend should reject fonts that request = OTF features the backend does not support, but if the backend does that = it would end up with no font at all in many cases. There is not first a = font with OTF-features and then one fallback without OTF-feature in the = fontests. There is just the one with OTF-features. So Emacs has made a = second bad choice w.r.t. fonts. The first was using the X11 specific = logical font description as its internal format (still does even if X11 = says it is deprecated). Now we are tied to features specified by Open = Type. Jan D. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 16 03:05:49 2013 Received: (at 15876) by debbugs.gnu.org; 16 Dec 2013 08:05:49 +0000 Received: from localhost ([127.0.0.1]:52889 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VsTBT-0003Yg-T9 for submit@debbugs.gnu.org; Mon, 16 Dec 2013 03:05:48 -0500 Received: from forward20.mail.yandex.net ([95.108.253.145]:51879) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VsTBP-0003YT-NX for 15876@debbugs.gnu.org; Mon, 16 Dec 2013 03:05:44 -0500 Received: from smtp17.mail.yandex.net (smtp17.mail.yandex.net [95.108.252.17]) by forward20.mail.yandex.net (Yandex) with ESMTP id 50AF01040C51; Mon, 16 Dec 2013 12:05:42 +0400 (MSK) Received: from smtp17.mail.yandex.net (localhost [127.0.0.1]) by smtp17.mail.yandex.net (Yandex) with ESMTP id ECB3E190071B; Mon, 16 Dec 2013 12:05:41 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp17.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id KEPhZ9WTKu-5fP4IHhG; Mon, 16 Dec 2013 12:05:41 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1387181141; bh=3PJi7P1z1WhgG8v96P5lCvNthLGlUkE0+Qp/IiYUX3M=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=xAX2mfKowCUF3zHbeKdu5WTos34DBMwlePJ8ryM4oHlrgoDSloLXqbfCnGE0nMc3x Cv9IZYqSFcUc5krEg9BukjLkx2ARXm2v7UCBRJ+ERuTE8HlWtbc4l1eVwz01y42o9T yZbM3SNLEg9C7sflOE1hF5ymFdGgtWuMfS+ZBfzE= Authentication-Results: smtp17.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <52AEB455.1080003@yandex.ru> Date: Mon, 16 Dec 2013 12:05:41 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006 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> <83lhzz2oal.fsf@gnu.org> <52A80BA8.3050403@yandex.ru> <83ob4nwdw0.fsf@gnu.org> <52A8A850.8040302@yandex.ru> <83k3fb6yvb.fsf@gnu.org> <837gb86aiq.fsf@gnu.org> <52AB320B.9@[87.69.4.28]> <83y53o4mmn.fsf@gnu.org> In-Reply-To: <83y53o4mmn.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15876 Cc: sva-news@mygooglest.com, 15876@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 12/13/2013 10:44 PM, Eli Zaretskii wrote: > In any case, if without compact_font_caches you still have such a > large increase in the memory footprint, it seems like that problem is > specific to X, while on Windows the cure is worse than the disease. > So if no other solution presents itself, I'm inclined to ifdef away > that code for Windows, if you don't mind. Since Stefan has announced a feature freeze in the week, OK for now; but I still hope to find a somewhat better solution for all of that mess. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 01 05:48:46 2016 Received: (at control) by debbugs.gnu.org; 1 Oct 2016 09:48:46 +0000 Received: from localhost ([127.0.0.1]:40293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bqGuU-0002Vo-0u for submit@debbugs.gnu.org; Sat, 01 Oct 2016 05:48:46 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bqGuS-0002Vb-9F for control@debbugs.gnu.org; Sat, 01 Oct 2016 05:48:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bqGuJ-0005nu-JI for control@debbugs.gnu.org; Sat, 01 Oct 2016 05:48:38 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33486) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bqGuJ-0005nU-Fo; Sat, 01 Oct 2016 05:48:35 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1715 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bqGuH-0004nI-Es; Sat, 01 Oct 2016 05:48:34 -0400 Date: Sat, 01 Oct 2016 12:48:40 +0300 Message-Id: <83shsgl7rb.fsf@gnu.org> From: Eli Zaretskii To: Nikolay Kudryavtsev In-reply-to: <4b30da4a-7d0c-2a08-72db-d541a00f1f2a@gmail.com> (message from Nikolay Kudryavtsev on Sat, 1 Oct 2016 12:32:59 +0300) Subject: Re: bug#24565: 25.1: info freezes on some elements References: <83d1jmoi2e.fsf@gnu.org> <83r381mvb7.fsf@gnu.org> <83h98xmkk4.fsf@gnu.org> <20898e14-10e4-8d67-67eb-3b247141474f@gmail.com> <83wphslao9.fsf@gnu.org> <83twcwl96t.fsf@gnu.org> <4b30da4a-7d0c-2a08-72db-d541a00f1f2a@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -8.0 (--------) X-Debbugs-Envelope-To: control Cc: 24565@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -8.0 (--------) merge 24565 15876 thanks > From: Nikolay Kudryavtsev > Cc: 24565@debbugs.gnu.org > Date: Sat, 1 Oct 2016 12:32:59 +0300 > > Well, it's rare scenario against another rare scenario. The other one is less rare, though. > And while font bloat is bad when it happens, I feel like this is > worse. I don't think I agree. > The discussion about #15876 ended with your suggestion to comment > that stuff out just for that bug. That was before the serious problems I mentioned previously were fixed. > This bug should be closed as a duplicate of 15876. Done. Thanks. From unknown Sat Jun 14 17:53:06 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 06 Nov 2016 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 11 03:10:03 2016 Received: (at control) by debbugs.gnu.org; 11 Nov 2016 08:10:03 +0000 Received: from localhost ([127.0.0.1]:52975 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c56uQ-0002Aw-PQ for submit@debbugs.gnu.org; Fri, 11 Nov 2016 03:10:02 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41177) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c56uP-0002AP-1D for control@debbugs.gnu.org; Fri, 11 Nov 2016 03:10:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c56uG-0001yf-J3 for control@debbugs.gnu.org; Fri, 11 Nov 2016 03:09:55 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:56386) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c56uG-0001yb-Fj for control@debbugs.gnu.org; Fri, 11 Nov 2016 03:09:52 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1336 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1c56uF-00069o-Pu for control@debbugs.gnu.org; Fri, 11 Nov 2016 03:09:52 -0500 Date: Fri, 11 Nov 2016 10:09:56 +0200 Message-Id: <83h97ee8tn.fsf@gnu.org> From: Eli Zaretskii To: control@debbugs.gnu.org Subject: WTF X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -7.9 (-------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -7.9 (-------) unarchive 24565 unarchive 15876 merge 24918 24565 archive 24565 archive 24918 archive 15876 thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 27 16:15:35 2016 Received: (at control) by debbugs.gnu.org; 27 Nov 2016 21:15:35 +0000 Received: from localhost ([127.0.0.1]:43925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cB6nP-0003xk-3d for submit@debbugs.gnu.org; Sun, 27 Nov 2016 16:15:35 -0500 Received: from mail-lf0-f43.google.com ([209.85.215.43]:34741) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cB6nN-0003xP-4w for control@debbugs.gnu.org; Sun, 27 Nov 2016 16:15:33 -0500 Received: by mail-lf0-f43.google.com with SMTP id o141so83008826lff.1 for ; Sun, 27 Nov 2016 13:15:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=LMA0RdWGrT0ORsH+KNrxQxT3l2OwaVi2zWYUin1odBM=; b=bx5ab9O7bxRcAnW+L4rU8qBeWbDXpdCFGcEAh1VXc4jlU3HGhPPNGa5GwMKfda7JBi tEJlq0W2a3GafUkrb62G1m1em141iVWiA1+7GKarBDyFcHgWJpbhrsgOvmmSCd/idO/W TGenUC/2tL9JX5X13PlL6pmfUo4rKsIkSt+oV4wN3dpQkSwBHnHJ61bsjZxzwUX5y3x9 zITk6eRzASqsK5mepCPs5NDEuy0YNbh2hRuWC18rlqHyfAKx2DaxxDG0iGsMmZbwiEih 0uTJJHzBKdnfdeKdBnQKJKNRJWyywlopq8gZkDJHLBe/4ieugLnc0giucQ/bgBieQMuB ldKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=LMA0RdWGrT0ORsH+KNrxQxT3l2OwaVi2zWYUin1odBM=; b=hN+BUtvGj0OSZc862x4v7cdSEGeYayOvS1a06LbDE/4XUCq5/6m4dhAwUNFQP9E2kY EznaG4OvV3EXTTbXqt8viNqqd5M8gCYIraHNTyuzmG4j+pM1MTc7AB/NGxVRalwRkN8m H5LoqjbDjfdk82QZItCO7Da4t9474+GCTFlbId3dpAMqPZwgnfRkf8hN/G6RJvdEBDjp bR8w091jBLRyCO3AFmhglhy36Io0UpXPghzQz+T03AZA4EVpSy+vq4INZpZqvDkTWMBV r/B+duuyIhbijenK0SCu3DOJd3sezyo+ZqZoPsaSia5xzrxPU+0u+f9P61PvLaqCI+ZL BHzQ== X-Gm-Message-State: AKaTC03oXt7fPWauJFuUoLgF6w2lNg7lqrOTLh3R38Q3jgKbvccRzh8gkYXm0V7iPAFcui3ck9A5xehxyuPxqg== X-Received: by 10.25.159.66 with SMTP id i63mr1007692lfe.73.1480281327178; Sun, 27 Nov 2016 13:15:27 -0800 (PST) MIME-Version: 1.0 Received: by 10.25.169.211 with HTTP; Sun, 27 Nov 2016 13:14:56 -0800 (PST) From: Klaus-Dieter Bauer Date: Sun, 27 Nov 2016 22:14:56 +0100 Message-ID: Subject: unarchive 24918 To: control@debbugs.gnu.org Content-Type: multipart/alternative; boundary=001a11407022ac9ccb05424eda7c X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --001a11407022ac9ccb05424eda7c Content-Type: text/plain; charset=UTF-8 unarchive 24918 --001a11407022ac9ccb05424eda7c Content-Type: text/html; charset=UTF-8
unarchive 24918
--001a11407022ac9ccb05424eda7c-- From unknown Sat Jun 14 17:53:06 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 30 Dec 2016 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator