1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 22:41:06 -08:00
Commit graph

38 commits

Author SHA1 Message Date
Eli Zaretskii
03b258fe44 ; Improve doc strings of some igc functions
* src/igc.c (Figc__arena_step):
* lisp/emacs-lisp/igc.el (igc--current-idle-time, igc--on-idle):
Doc fixes.
2025-12-06 15:15:50 +02:00
Jeremy Bryant
c5be680ec3 ; * lisp/emacs-lisp/igc.el: Add docstrings and fix typos
(igc--current-idle-time): Add docstring.
(igc--idle-timer): Fix typo in docstring.
(igc--predict-idle-time): Add docstring.
(igc--on-idle): Fix typo in comment, add docstring.
2025-12-05 08:41:32 +01:00
Eli Zaretskii
00ad86045f ; * lisp/emacs-lisp/igc.el (igc-collect): Doc fix. 2025-11-29 19:57:36 +02:00
Helmut Eller
cb287ece7b Simplify igc--format-bytes-human-readable
Suggested by Pip Cet.

* lisp/emacs-lisp/igc.el (igc--format-bytes-human-readable): Use
file-size-human-readable.
2025-10-04 20:54:19 +02:00
Helmut Eller
3360c5373d Add a igc-describe-arena command
* src/igc.c (Figc__describe_arena): New wrapper for ArenaDescribe.
(syms_of_igc): Register it.
* lisp/emacs-lisp/igc.el (igc-describe-arena): New command.
2025-10-04 17:33:10 +02:00
Helmut Eller
6e96864445 Minor optimization
* lisp/emacs-lisp/igc.el (igc--format-bytes-human-readable): Avoid some
consing.
2025-10-04 16:40:01 +02:00
Jeremy Bryant
7e4fd5ff55 * lisp/emacs-lisp/igc.el: Add docstrings in stats export functions
(igc--collect-stats-csv, igc--collect-stats-sqlite): Add docstrings.
(Bug#79564)
2025-10-04 10:21:45 +03:00
Helmut Eller
281e06fcb6 Optionally display sizes in human readable format
* lisp/emacs-lisp/igc.el (igc--number-format): New variable.
(igc--format-bytes-human-readable, igc--format-bytes,
igc--format-bytes-cell, igc--format-avg-cell):
(igc--insert-info): Use them
(igc-cycle-number-format): New command.
(igc-stats-mode): Bind it to n.
2025-10-03 20:47:28 +02:00
Helmut Eller
e1dd2b9799 Display igc-stats more compactly
* lisp/emacs-lisp/igc.el (igc--insert-info-row)
(igc--compute-column-widths, igc--format-cell): New helpers
(igc-stats): Use them.
2025-10-03 17:45:08 +02:00
Helmut Eller
d37f079bad Call igc--on-idle multiple times per idle period
This makes the exact value of igc--idle-delay less import because
igc--on-idle is now called after igc--idle-delay then after
igc--idle-delay * 2, then igc--idle-delay * 4, and so on.

* lisp/emacs-lisp/igc.el (igc--on-idle): Start a second timer until
igc--idle-repetitions is reached.
(igc--idle-delay): Use 1.0 as default.
(igc--idle-repetitions): New.
(igc--current-idle-time): New helper.
(igc--predict-idle-time): Use it.
2025-09-23 11:32:48 +02:00
Gerd Möllmann
f782dd29fb ; * lisp/emacs-lisp/igc.el (igc-start-idle-timer): Add autoload cookie. 2025-09-07 17:17:48 +02:00
Helmut Eller
ff16f07274 Call mps_arena_step from a Lisp idle timer
* src/igc.c (Figc__arena_step): New defun.
(syms_of_igc): Register Sigc__arena_step.
* lisp/emacs-lisp/igc.el (igc-start-idle-timer): New.
(igc--idle-timer, igc--idle-delay, igc--step-interval)
(igc--predict-idle-time, igc--on-idle): New code for opportunistic Gc.
2025-09-06 20:15:56 +02:00
Eli Zaretskii
7b35a50622 ; Fix last change. 2025-04-15 08:50:15 +03:00
Jeremy Bryant
7460887810 ; * lisp/emacs-lisp/igc.el: checkdox fixes (bug#77142).
Add docstring for interactive functions:
(igc-snapshot)
(igc-display-diff)
(igc-display-a)
(igc-display-b)
(igc--roots-a)
(igc--roots-b)
(igc-roots-display-diff)
(igc-roots-display-a)
(igc-roots-display-b)
(igc--roots-snapshot)
(igc-stop-collecting-stats)

Add docstring for variables:
(igc--a)
(igc--b)
(igc--display-mode)
(igc-stats-time-format)
2025-04-15 08:47:29 +03:00
Eli Zaretskii
e7c7ac73c0 ; * lisp/emacs-lisp/igc.el (igc-roots-mode): Fix last change. 2025-04-12 14:05:20 +03:00
Jeremy Bryant
6d98cfe198 ; Add documentation on major mode igc-roots-mode
* lisp/emacs-lisp/igc.el (igc-roots-mode): Add documentation,
essentially combining the docstrings of igc-roots-stats and igc--roots,
with minor adaptation.
(igc-roots-stats): Change message to guide user to type ? for help.
2025-04-12 14:01:28 +03:00
Jeremy Bryant
7c7cd05b53 ; Add documentation on major-mode igc-stats-mode
* lisp/emacs-lisp/igc.el (igc-stats-mode): Add documentation,
essentially combining the docstrings of igc-stats and igc-info,
with minor adaptation.
(igc-stats): Change message to guide user to type ? for help.
2025-03-18 10:54:41 +00:00
Eli Zaretskii
06510ef9d4 ; * lisp/emacs-lisp/igc.el (igc-roots-stats, igc-stats): Fix typos. 2025-01-20 16:08:30 +02:00
Gerd Möllmann
573dbff123 Add storing igc stats in SQLite
* lisp/emacs-lisp/igc.el (toplevel): Require sqlite.
(igc--sqlite): New var containing SQLite database.
(igc-stop-collecting-stats): Handle sqlite case.
(igc-stats-time-format): Change to include milliseconds.
(igc--collect-stats-csv): Renamed from igc--collection-stats.
(igc--collect-stats-sqlite):New function inserting into DB.
(igc--open-sqlite): New function.
(igc-start-collecting-stats): Allow choosing CSV or SQLite.
2025-01-12 14:33:00 +01:00
Stefan Kangas
89237e5b84 Fontify keys in igc.el docstrings
* lisp/emacs-lisp/igc.el (igc-stats, igc-roots-stats): Use face
help-key-binding for keys.
2025-01-11 15:01:37 +01:00
Eli Zaretskii
801bb957f9 ; Fix last change. 2025-01-11 12:24:43 +02:00
Eli Zaretskii
5832255ad3 Improve documentation of igc-stats commands
* lisp/emacs-lisp/igc.el (igc-stats, igc-roots-clear)
(igc-roots-stats): Doc fixes.
2025-01-11 12:21:13 +02:00
Gerd Möllmann
b31784839b Doc and spelling fixes in igc.el 2025-01-10 20:12:29 +01:00
Gerd Möllmann
e0603213aa Add some autoloads to igc.el 2025-01-09 16:05:52 +01:00
Stefan Kangas
a05d7840f0 ; Fix file headers and footers
* lisp/emacs-lisp/igc.el: Fix file header and footer.
* test/src/igc-tests.el: Add copyright and license statement.
2025-01-08 07:22:49 +01:00
Stefan Kangas
845be5bd0d ; Update copyright years for scratch/igc 2025-01-08 05:23:03 +01:00
Pip Cet
38581882b9 Add "largest object" column to igc-stats
* lisp/emacs-lisp/igc.el (igc-stats-mode)
(igc-stats): Display extra column
* src/igc.c (struct igc_stats): Add `largest' field.
(dflt_scan_obj): Remember largest object.
(make_entry, Figc_info): Adjust.
2024-07-04 16:52:25 +00:00
Andrea Corallo
677147386c Fix compilation warnings in igc.el
* lisp/emacs-lisp/igc.el (igc-info, igc--collect, igc--roots): Declare.
2024-07-03 14:07:08 +02:00
Gerd Möllmann
c037fb42f1 Fix null error in igc--diff 2024-07-02 10:26:50 +02:00
Gerd Möllmann
bd8d9c1aae Time format in igc-stats CSV is now configurable 2024-07-01 20:38:17 +02:00
Eli Zaretskii
f85760f00a Avoid compilation warnings
* src/igc.c (Figc_info): Shut up compiler warnings.

* lisp/emacs-lisp/igc.el (igc-stats): Use 'forward-line'.
2024-07-01 18:34:10 +03:00
Gerd Möllmann
71c6787cc0 Preserve current line when updating in igc-stats 2024-07-01 17:12:01 +02:00
Gerd Möllmann
03dccff201 Include average sizes in igc-stats output 2024-07-01 09:06:44 +02:00
Gerd Möllmann
8fcf11f145 Collecting stats in CSV files at specified intervals 2024-06-29 11:24:13 +02:00
Gerd Möllmann
6a34236a9a Fix copmilation warning in igc.el 2024-06-28 13:44:42 +02:00
Gerd Möllmann
7525048285 igc-root-stats WIP 2024-06-28 10:31:05 +02:00
Gerd Möllmann
4674ca443a igc-root-stats WIP 2024-06-28 10:31:05 +02:00
Gerd Möllmann
4472a1cec9 Add emacs-lisp/igc.el 2024-06-28 07:57:33 +02:00