Subject: bug#4485 closed by Stefan Monnier <[email-masked]> (Re: bug#4485: 23.1; bookmark-save performances)

From: [email-masked] (Emacs bug Tracking System)
Date: Sun, 20 Sep 2009 15:05:07 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#4485: 23.1; bookmark-save performances

It has been closed by Stefan Monnier <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Stefan Monnier <[email-masked]> by
replying to this email.

-- 
4485: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4485
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#4485: 23.1; bookmark-save performances
From: Stefan Monnier <[email-masked]>
To: Thierry Volpiatto <[email-masked]>
Date: Sun, 20 Sep 2009 10:55:43 -0400

> Hi, with current version of `bookmark-write-file' saving a big list of
> bookmarks is very long:

> More than 50s for 195 bookmarks.

> That's because entire `bookmark-alist' is given to pp:

> ,----[ bookmark.el:bookmark-write-file ]
> | (pp bookmark-alist (current-buffer))
> `----

> With this modification i made in bookmark+.el, for same 195 bookmarks,
> it take only 1.24s:

> ,----[ bookmark+.el:bookmark-write-file ]
> | (progn (insert "(")
> |        (dolist (i  bookmark-alist) (pp i (current-buffer)))
> |        (insert ")"))
> `----

> Little chunks of `bookmark-alist' are given one by one to pp and that is
> faster.
 
Thank you very much.  I've installed your patch,

        Stefan

Subject: 23.1; bookmark-save performances
From: Thierry Volpiatto <[email-masked]>
To: [email-masked]
Date: Sat, 19 Sep 2009 10:25:00 +0200

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

Hi, with current version of `bookmark-write-file' saving a big list of
bookmarks is very long:

More than 50s for 195 bookmarks.

That's because entire `bookmark-alist' is given to pp:

,----[ bookmark.el:bookmark-write-file ]
| (pp bookmark-alist (current-buffer))
`----

With this modification i made in bookmark+.el, for same 195 bookmarks,
it take only 1.24s:

,----[ bookmark+.el:bookmark-write-file ]
| (progn (insert "(")
|        (dolist (i  bookmark-alist) (pp i (current-buffer)))
|        (insert ")"))
`----

Little chunks of `bookmark-alist' are given one by one to pp and that is
faster.
 
NOTE: Measures were made with elp-instrument-*

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.1/etc/DEBUG for instructions.

In GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.16.5)
 of 2009-07-31 on tux
Windowing system distributor `The X.Org Foundation', version 11.0.10503000
configured using `configure  '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--program-suffix=-emacs-23' '--infodir=/usr/share/info/emacs-23' '--with-sound' '--with-x' '--without-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--with-xft' '--without-libotf' '--without-m17n-flt' '--with-x-toolkit=gtk' '--without-hesiod' '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'CFLAGS=-march=i686 -pipe -O2' 'LDFLAGS=-Wl,-O1''

Important settings:
  value of $LC_ALL: fr_FR.UTF-8
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: fr_FR.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  eldoc-mode: t
  icomplete-mode: t
  icicle-mode: t
  delete-selection-mode: t
  minibuffer-depth-indicate-mode: t
  auto-image-file-mode: t
  shell-dirtrack-mode: t
  partial-completion-mode: t
  show-paren-mode: t
  display-battery-mode: t
  display-time-mode: t
  diff-auto-refine-mode: t
  outline-minor-mode: t
  recentf-mode: t
  savehist-mode: t
  desktop-save-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<f11> a <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <return> C-c C-b w r i t e <down> 
<return> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> C-SPC C-n C-n C-n M-w <f11> a 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <return> C-c C-b 
w r i t e <down> <return> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<right> <right> <right> <right> <right> <right> C-SPC 
C-e M-w M-x r e p o r t <tab> <down> <return>

Recent messages:
bunzip2ing elisp.info.bz2...done
bunzip2ing elisp-11.info.bz2...done
Type C-x 4 C-o RET to restore the other window, C-M-v to scroll help. [2 times]
 [2 times]
Mark set [2 times]
 [2 times]
Mark set
Auto-saving...
Mark set
Computing completion candidates...

-- 
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France