Subject: bug#35453: closed (Re: bug#35453: 26.1; Poor performance of vertical-motion in large org buffer)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 29 Oct 2022 10:43:02 +0000

Your bug report

#35453: 26.1; Poor performance of vertical-motion in large org buffer

which was filed against the emacs,org-mode package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
35453: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=35453
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#35453: 26.1; Poor performance of vertical-motion in large org buffer
From: Eli Zaretskii <[email-masked]>
To: Ihor Radchenko <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sat, 29 Oct 2022 13:42:36 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Ihor Radchenko <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
> Date: Sat, 29 Oct 2022 09:02:31 +0000
> 
> Ihor Radchenko <[email-masked]> writes:
> 
> >> There are no intervals in this story.  The way overlays are
> >> implemented, they don't use intervals (if by that you mean the
> >> facilities in intervals.c).  Someone was working on making overlays
> >> more efficient by changing the low-level implementation details, but
> >> that work is yet unfinished.
> >
> > I see. Hope that overlays will be optimised eventually...
> 
> And "eventually" finally came :)
> I am pretty sure that this can be closed now.

Thanks, done.

Subject: 26.1; Poor performance of vertical-motion in large org buffer
From: 'Ihor Radchenko' <[email-masked]>
To: [email-masked]
Date: Thu, 25 Apr 2019 14:23:06 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

C-n and C-p are extremely slow (>10 sec to move one visual line) when
moving around a large org buffer in overview state, especially right
after opening the file.
The issue seems to be with low-level vertical-motion command - M-:
(vertical-motion 1) also takes >10sec on some lines.

Steps to reproduce (emacs -Q):
1. Open the attached org file
2. C-n, C-n, C-n, C-n
3. Observe emacs hanging for >10sec. 

In GNU Emacs 26.1 (build 1, x86_64-pc-linux-gnu, X toolkit)
 of 2019-01-13 built on yantar92-laptop
Windowing system distributor 'The X.Org Foundation', version 11.0.12003000
Recent messages:
Making completion list...
You can run the command ‘profiler-reset’ with M-x pr-res RET
Quit
-1 (#o377777777777777777777, #x3fffffffffffffff)
Making completion list...
Quit
Making completion list...
user-error: No further undo information
Quit
1 (#o1, #x1, ?\C-a)
Quit
Configured using:
 'configure --prefix=/usr --build=x86_64-pc-linux-gnu
 --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
 --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
 --localstatedir=/var/lib --disable-silent-rules
 --docdir=/usr/share/doc/emacs-26.1-r3
 --htmldir=/usr/share/doc/emacs-26.1-r3/html --libdir=/usr/lib64
 --program-suffix=-emacs-26 --infodir=/usr/share/info/emacs-26
 --localstatedir=/var
 --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --with-file-notification=inotify --enable-acl --with-dbus
 --with-modules --without-gameuser --with-gpm --without-kerberos
 --without-kerberos5 --with-lcms2 --with-xml2 --without-mailutils
 --without-selinux --with-gnutls --without-libsystemd --with-threads
 --without-wide-int --with-zlib --with-sound=alsa --with-x --without-ns
 --without-gconf --without-gsettings --without-toolkit-scroll-bars
 --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xpm
 --with-imagemagick --with-xft --without-cairo --without-libotf
 --without-m17n-flt --with-x-toolkit=lucid --with-xaw3d
 'CFLAGS=-march=broadwell -pipe -O2' CPPFLAGS= 'LDFLAGS=-Wl,-O1
 -Wl,--as-needed''

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS NOTIFY ACL
GNUTLS LIBXML2 FREETYPE XFT ZLIB LUCID X11 MODULES THREADS LCMS2

Important settings:
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: @im=imsettings
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-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
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr time-stamp profiler emacsbug sendmail
org-duration org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls
gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message
rmc puny seq byte-opt gv bytecomp byte-compile cconv rfc822 mml mml-sec
password-cache epa derived epg epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
mail-utils mm-util mail-prsvr wid-edit org-docview doc-view jka-compr
image-mode dired dired-loaddefs org-bibtex bibtex org-bbdb org-w3m
org-element cl-seq avl-tree generator org advice org-macro org-footnote
org-pcomplete pcomplete org-list org-faces org-entities noutline outline
easy-mmode org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob
ob-table ob-keys ob-exp ob-comint comint ansi-color ring ob-core ob-eval
org-compat org-macs org-loaddefs format-spec find-func cal-menu easymenu
calendar cal-loaddefs cl-loaddefs cl-lib elec-pair time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded 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 dbusbind inotify lcms2 dynamic-setting font-render-setting
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 299128 44290)
 (symbols 48 30479 3)
 (miscs 40 55308 6589)
 (strings 32 63232 2240)
 (string-bytes 1 1952225)
 (vectors 16 46945)
 (vector-slots 8 1085988 21536)
 (floats 8 207 207)
 (intervals 56 736 59)
 (buffers 992 15))

-- 
Ihor Radchenko