emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NS port: How to debug excessive garbage collection?


From: Keith David Bershatsky
Subject: NS port: How to debug excessive garbage collection?
Date: Wed, 10 Apr 2019 20:27:49 -0700

I am working on feature requests 22873 (multiple fake cursors) and 17684 
(crosshairs that track the cursor position).

On 04/08/2019, I submitted a proof concept patch to the following bug tracker 
link that applies to a current version of the master branch as of that 
date/commit.  It works for GUI versions of Emacs on w32, X11 and NS ports:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22873#125

The bulk of my daily workflow is performed on a modified earlier version of the 
Emacs master branch from 03/28/2016, which uses about 98% of a current version 
of the display engine (xdisp.c) as of 04/08/2019.  The proof concept patches 
for each version of Emacs (03/28/2016 versus 04/08/2019) are virtually 
identical.  The only major difference is that nsterm.m has undergone 
significant changes over the past few months to accommodate Mojave users 
(MacOS).

Here is a Youtube link to a screen recording of the 03/28/2016 version of Emacs 
NS port -- there are virtually no visual pauses whatsoever while I hold down 
the right arrow key:

https://youtu.be/4vTX1YwrfC4

Here is a Youtube link to a screen recording of the 04/08/2019 version of Emacs 
NS port -- there is a painfully noticeable pause every few characters while I 
hold down the right arrow key:

https://youtu.be/RzkB4HKHR6o

The painful garbage collection issues do _not_ plague either the w32 port or 
the X11 port of Emacs master branch as of 04/08/2019.

Q:  How should I proceed to debug the excessive garbage collection issue on the 
NS port?

Thanks,

Keith



reply via email to

[Prev in Thread] Current Thread [Next in Thread]