From dc771b6c409c016dec6aea394d574de1cca3c583 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Wed, 30 Dec 2020 08:29:06 +0100 Subject: Also count symbol plists in memory-report * lisp/emacs-lisp/memory-report.el (memory-report--symbol-plist): New function. (memory-report): Use it. --- lisp/emacs-lisp/memory-report.el | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lisp') diff --git a/lisp/emacs-lisp/memory-report.el b/lisp/emacs-lisp/memory-report.el index 332749987c4..1cb9ad15316 100644 --- a/lisp/emacs-lisp/memory-report.el +++ b/lisp/emacs-lisp/memory-report.el @@ -48,6 +48,7 @@ by counted more than once." (message "Gathering data...") (let ((reports (append (memory-report--garbage-collect) (memory-report--image-cache) + (memory-report--symbol-plist) (memory-report--buffers) (memory-report--largest-variables))) (inhibit-read-only t) @@ -159,6 +160,17 @@ by counted more than once." "\n")) (buffer-string))))) +(defun memory-report--symbol-plist () + (let ((counted (make-hash-table :test #'eq)) + (total 0)) + (mapatoms + (lambda (symbol) + (cl-incf total (memory-report--object-size + counted (symbol-plist symbol)))) + obarray) + (list + (cons "Memory Used By Symbol Plists" total)))) + (defun memory-report--object-size (counted value) (if (gethash value counted) 0 -- cgit v1.2.1