all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Keith David Bershatsky <esq@lawlist.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: NS port:  How to debug excessive garbage collection?
Date: Thu, 11 Apr 2019 16:04:47 -0700	[thread overview]
Message-ID: <m27ec087ow.wl%esq@lawlist.com> (raw)

Thank you, Eli, for helping me to get started down the road towards diagnosing the excessive garbage collection issue that I am observing on my end.

The garbage collection issue is most noticeable to the naked eye when the fake cursors feature is turned on (e.g., crosshairs) -- using a modified master branch from 04/08/2019.  My naked eye does not perceive any obvious problem when holding down the right arrow-key in the stock / unmodified version of Emacs.

I performed three (3) tests wherein I held the right arrow-key (right-char) depressed for a few seconds in the *GNU Emacs* welcome buffer:

    (progn
      (setq timer-list nil
            timer-idle-list nil)
      (add-hook 'post-command-hook (lambda () (message "%s" (garbage-collect)))))

1.  Stock / Unmodified master branch as of 04/08/2019 (a038df77de7b1aa2d73a6478493b8838b59e4982).

2.  Crosshairs turned _off_ using a modified master branch as of 04/08/2019 (a038df77de7b1aa2d73a6478493b8838b59e4982).

3.  Crosshairs turned _on_ using a modified master branch as of 04/08/2019 (a038df77de7b1aa2d73a6478493b8838b59e4982).

All tests were performed on the NS platform running OSX 10.6.8 with the following build options:

CFLAGS='-Wall -O0 -g3' ./configure \
--with-ns \
--enable-checking='yes,glyphs' \
--enable-check-lisp-object-type \
--without-compress-install \
--without-makeinfo \
--with-gnutls=no \
--with-mailutils \
--without-makeinfo

============================

;;; begin STOCK / UNMODIFIED

((conses 16 12248 37702)
 (symbols 48 1746 1)
 (strings 32 4063 432)
 (string-bytes 1 118324)
 (vectors 16 3486)
 (vector-slots 8 52564 9150)
 (floats 8 9 88)
 (intervals 56 55 25)
 (buffers 992 9))

((conses 16 12249 37701)
 (symbols 48 1746 1)
 (strings 32 4063 432)
 (string-bytes 1 118324)
 (vectors 16 3486)
 (vector-slots 8 52564 9150)
 (floats 8 9 88)
 (intervals 56 55 25)
 (buffers 992 9))

;;; end STOCK UNMODIFIED

============================

;;; begin MODIFIED -- CROSSHAIRS "OFF"

((conses 16 4650 7834)
 (symbols 48 1312 1)
 (strings 32 595 1792)
 (string-bytes 1 36726)
 (vectors 16 3654)
 (vector-slots 8 52893 12656)
 (floats 8 32 261)
 (intervals 56 54 26)
 (buffers 1072 9))

((conses 16 4651 7833)
 (symbols 48 1312 1)
 (strings 32 595 1792)
 (string-bytes 1 36726)
 (vectors 16 3654)
 (vector-slots 8 52893 12656)
 (floats 8 32 261)
 (intervals 56 54 26)
 (buffers 1072 9))

;;; end MODIFIED -- CROSSHAIRS "OFF"

============================

;;; begin MODIFIED -- CROSSHAIRS "ON"

((conses 16 5625 6858)
 (symbols 48 1314 0)
 (strings 32 597 1790)
 (string-bytes 1 36822)
 (vectors 16 3722)
 (vector-slots 8 53307 12242)
 (floats 8 233 421)
 (intervals 56 54 26)
 (buffers 1072 9))

((conses 16 5626 6993)
 (symbols 48 1314 0)
 (strings 32 597 1790)
 (string-bytes 1 36822)
 (vectors 16 3722)
 (vector-slots 8 53307 12242)
 (floats 8 233 547)
 (intervals 56 54 26)
 (buffers 1072 9))

;;; end MODIFIED -- CROSSHAIRS "ON"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

> Date: [04-11-2019 07:14:53] <11 Apr 2019 17:14:53 +0300>
> From: Eli Zaretskii <eliz@gnu.org>
> To: Keith David Bershatsky <esq@lawlist.com>
> CC: emacs-devel@gnu.org
> Subject: Re: NS port:  How to debug excessive garbage collection?
> 
> > Date: Wed, 10 Apr 2019 20:27:49 -0700
> > From: Keith David Bershatsky <esq@lawlist.com>
> >
> > Q:  How should I proceed to debug the excessive garbage collection issue on the NS port?
> 
> Does that happen with the unmodified master branch, or only with your
> changes?
> 
> In any case, I think you should begin by finding out which type of
> Lisp data contributes the most to the garbage, e.g. by looking at the
> output of 'garbage-collect' (the function).



             reply	other threads:[~2019-04-11 23:04 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-11 23:04 Keith David Bershatsky [this message]
2019-04-12  9:30 ` NS port: How to debug excessive garbage collection? Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2019-04-16  5:51 Keith David Bershatsky
2019-04-16  2:57 Keith David Bershatsky
2019-04-16  5:26 ` Alex Gramiak
2019-04-15  5:19 Keith David Bershatsky
2019-04-15  2:55 Keith David Bershatsky
2019-04-15  3:44 ` Alex Gramiak
2019-04-14 19:46 Keith David Bershatsky
2019-04-14 23:31 ` Alex Gramiak
2019-04-14  7:41 Keith David Bershatsky
2019-04-13 18:07 Keith David Bershatsky
2019-04-13 21:41 ` Alex Gramiak
2019-04-14  3:47 ` Daniel Colascione
2019-04-13 16:31 Keith David Bershatsky
2019-04-13 17:02 ` Alex Gramiak
2019-04-13  5:55 Keith David Bershatsky
2019-04-13  6:48 ` Eli Zaretskii
2019-04-11  3:27 Keith David Bershatsky
2019-04-11 14:14 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m27ec087ow.wl%esq@lawlist.com \
    --to=esq@lawlist.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.