[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
- NS port: How to debug excessive garbage collection?,
Keith David Bershatsky <=