GNU bug report logs - #960
23.0.60; excess consing

Previous Next

Package: emacs;

Reported by: rms <at> gnu.org

Date: Thu, 11 Sep 2008 11:15:04 UTC

Severity: normal

Merged with 917, 961

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 960 in the body.
You can then email your comments to 960 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#960; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Richard M. Stallman" <rms <at> gnu.org>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; excess consing
Date: Thu, 11 Sep 2008 07:03:35 -0400
In emacs -Q, I defined these functions to measure consing:

    (defun gc-set-base ()
      (interactive)
      (setq base-cons-cells-consed cons-cells-consed)
      (setq base-strings-consed strings-consed)
      (setq base-string-chars-consed string-chars-consed)
      (setq base-vector-cells-consed vector-cells-consed)
      (setq base-symbols-consed symbols-consed)
      (setq base-misc-objects-consed misc-objects-consed)
      (setq base-intervals-consed intervals-consed))

    (defun gc-info ()
      (interactive)
      (message "C=%s S=%s(%s) V=%s SYM=%s MISC=%s INT=%s"
	       (- cons-cells-consed base-cons-cells-consed)
	       (- strings-consed base-strings-consed)
	       (- string-chars-consed base-string-chars-consed)
	       (- vector-cells-consed base-vector-cells-consed)
	       (- symbols-consed base-symbols-consed)
	       (- misc-objects-consed base-misc-objects-consed)
	       (- intervals-consed base-intervals-consed)))
    (global-set-key [?\M-*] 'gc-info)

Just typing M-* repeatedly I see that cons-cells-consed increases by
about 130, and string-chars-consed increases by around 160.  This seems
unreasonably much, for running a command that does no consing itself.


In GNU Emacs 23.0.60.6 (mipsel-unknown-linux-gnu, GTK+ Version 2.12.11)
 of 2008-09-10 on lemote-menglan
configured using `configure  'CFLAGS=-O0 -g -Wno-pointer-sign' 'mipsel-unknown-linux-gnu' 'build_alias=mipsel-unknown-linux-gnu' 'host_alias=mipsel-unknown-linux-gnu' 'target_alias=mipsel-unknown-linux-gnu''

Important settings:
  value of $LC_ALL: nil
  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: en_US.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:
  gpm-mouse-mode: t
  tooltip-mode: t
  menu-bar-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
  abbrev-mode: t

Recent input:
n SPC g c - b a s e SPC ( ) RET C-u C-y TAB ESC C-f 
RET ESC C-f RET ESC C-f RET ESC C-f RET TAB C-p C-p 
C-p C-p TAB C-n TAB C-n C-k TAB n TAB DEL C-n TAB C-n 
TAB ESC C-f RET TAB C-u C-p C-u C-p C-n C-n C-a C-x 
ESC m C-g C-x ( ESC m C-k C-y ESC m ( s e t q SPC b 
a s e - C-e SPC C-y ) C-a C-n C-x ) C-u C-x e C-x e 
C-x e C-p C-e ) C-a C-p C-p C-p C-p C-p C-p C-@ C-u 
C-n C-n C-n C-n ESC w C-u C-p C-u C-p C-p C-o C-u C-y 
C-p C-@ C-u C-n C-u C-n C-n C-w C-u C-n C-u C-n C-n 
C-n C-n C-n C-n C-u C-y C-k C-x ( TAB C-f ESC d - ESC 
C-f ESC C-t C-a C-n C-x ) C-u C-x e e e C-p C-e ) C-n 
C-n C-p C-@ C-n C-n C-n C-n C-w C-u C-u C-p C-u C-p 
C-n ESC f ESC f - s e t C-a C-n C-o TAB i j DEL DEL 
( i n t e r a c t v e DEL DEL i v e ) ESC C-x ESC x 
g c - s e TAB RET ESC * C-u C-n C-u C-n C-u C-n ESC 
C-x ESC * ESC * ESC * ESC * ESC * ESC * ESC * ESC * 
ESC * ESC * ESC * ESC * ESC * ESC * ESC * C-a C-u C-u 
C-p C-n C-n C-@ C-u C-u C-n C-u C-n C-n C-n ESC w C-x 
4 C-g ESC x r e p o r SPC e m a c s SPC b u g RET

Recent messages:
C=1185 S=173(1763) V=0 SYM=1 MISC=95 INT=0
Auto-saving...
C=1290 S=192(44027) V=0 SYM=1 MISC=102 INT=0
C=1369 S=204(44160) V=0 SYM=1 MISC=109 INT=0
C=1448 S=216(44293) V=0 SYM=1 MISC=115 INT=0
C=1527 S=228(44426) V=0 SYM=1 MISC=121 INT=0
C=1606 S=240(44559) V=0 SYM=1 MISC=127 INT=0
C=1685 S=252(44692) V=0 SYM=1 MISC=133 INT=0
C=1764 S=264(44825) V=0 SYM=1 MISC=139 INT=0
Mark set




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#960; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to "Juanma Barranquero" <lekktu <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #10 received at 960 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Juanma Barranquero" <lekktu <at> gmail.com>
To: rms <at> gnu.org, 960 <at> debbugs.gnu.org
Subject: Re: bug#960: 23.0.60; excess consing
Date: Thu, 11 Sep 2008 14:25:53 +0200
On Thu, Sep 11, 2008 at 13:03, Richard M. Stallman <rms <at> gnu.org> wrote:

>    (defun gc-info ()
>      (interactive)
>      (message "C=%s S=%s(%s) V=%s SYM=%s MISC=%s INT=%s"

> Just typing M-* repeatedly I see that cons-cells-consed increases by
> about 130, and string-chars-consed increases by around 160.  This seems
> unreasonably much, for running a command that does no consing itself.

`message' calls `format', which calls `copy-sequence'... Isn't that a
source of consing?

 Juanma




Merged 917 960 961. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Thu, 11 Sep 2008 16:15:04 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#960; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #17 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Richard M. Stallman" <rms <at> gnu.org>
To: Juanma Barranquero <lekktu <at> gmail.com>, 960 <at> debbugs.gnu.org
Cc: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#960: 23.0.60; excess consing
Date: Fri, 12 Sep 2008 04:52:32 -0400
    `message' calls `format', which calls `copy-sequence'... Isn't that a
    source of consing?

That seems to account for most of it.  I made another command
that accumulates data in a list, and it showed very little
consing.

This shows that calling `message' does a lot more consing than it
ought to need to do.  But this may not be significant for the great
consing-related slowness I see.





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#960; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

bug closed, send any further explanations to rms <at> gnu.org Request was from Chong Yidong <cyd <at> stupidchicken.com> to control <at> debbugs.gnu.org. (Thu, 24 Jun 2010 18:24:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 23 Jul 2010 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 14 years and 333 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.