[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ELPA-diffs] /srv/bzr/emacs/elpa r248: * memory-usage.el: Adjust for new
From: |
Stefan Monnier |
Subject: |
[ELPA-diffs] /srv/bzr/emacs/elpa r248: * memory-usage.el: Adjust for new values of garbage-collect. |
Date: |
Wed, 22 Aug 2012 09:45:28 -0400 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 248
committer: Stefan Monnier <address@hidden>
branch nick: elpa
timestamp: Wed 2012-08-22 09:45:28 -0400
message:
* memory-usage.el: Adjust for new values of garbage-collect.
modified:
packages/memory-usage/memory-usage.el
=== modified file 'packages/memory-usage/memory-usage.el'
--- a/packages/memory-usage/memory-usage.el 2012-03-22 16:31:33 +0000
+++ b/packages/memory-usage/memory-usage.el 2012-08-22 13:45:28 +0000
@@ -78,42 +78,41 @@
(let* ((bufs (buffer-list))
(num (length bufs))
(gc-stats (garbage-collect))
- (conses (memory-usage-mult-cons 2 (nth 0 gc-stats)))
- (symbols (memory-usage-mult-cons 6 (nth 1 gc-stats)))
- (markers (memory-usage-mult-cons 5 (nth 2 gc-stats)))
- (chars (nth 3 gc-stats))
- (vectors (nth 4 gc-stats))
- (floats (memory-usage-mult-cons 2 (nth 5 gc-stats)))
- (intervals (memory-usage-mult-cons 7 (nth 6 gc-stats)))
- (strings (memory-usage-mult-cons 4 (nth 7 gc-stats))))
- (if (consp vectors) (setq vectors (cdr vectors)))
+ (gc-stats (if (numberp (caar gc-stats))
+ (mapcar (lambda (x)
+ `(,(car x)
+ ,(max (* memory-usage-word-size (cadr x))
+ 1)
+ ,@(let ((stat (nth (cddr x) gc-stats)))
+ (if (consp stat)
+ (list (car stat) (cdr stat))
+ (list stat)))))
+ '((cons 2 . 0)
+ (symbol 6 . 1)
+ (marker 5 . 2)
+ (string 4 . 7)
+ (string-byte 0 . 3)
+ (vector-slot 1 . 4)
+ (float 2 . 5)
+ (interval 7 . 6)))
+ gc-stats)))
(insert (format "Garbage collection stats:\n%s\n\n =>" gc-stats))
- (dolist (x `(("cons cells" . ,conses)
- ("symbols" . ,symbols)
- ("markers" . ,markers)
- ("floats" . ,floats)
- ("intervals" . ,intervals)
- ("string headers" . ,strings)))
- (insert (format "\t%s (+ %s dead) in %s\n"
- (memory-usage-format (cadr x))
- (memory-usage-format (cddr x))
- (car x))))
- (insert (format "\t%s of string chars\n" (memory-usage-format chars)))
- (insert (format "\t%s of vector slots\n" (memory-usage-format vectors)))
- (let ((live (+ (car conses)
- (car symbols)
- (car markers)
- (car floats)
- (car intervals)
- (car strings)
- chars
- vectors))
- (dead (+ (cdr conses)
- (cdr symbols)
- (cdr markers)
- (cdr floats)
- (cdr intervals)
- (cdr strings))))
+ (let ((live 0)
+ (dead 0))
+ (dolist (x gc-stats)
+ (let* ((size (nth 1 x))
+ (xlive (* size (nth 2 x)))
+ (xdead (if (nth 3 x) (* size (nth 3 x)))))
+ (insert (if xdead
+ (format "\t%s (+ %s dead) in %s\n"
+ (memory-usage-format xlive)
+ (memory-usage-format xdead)
+ (car x))
+ (format "\t%s in %s\n"
+ (memory-usage-format xlive)
+ (car x))))
+ (setq live (+ live xlive))
+ (if xdead (setq dead (+ dead xdead)))))
(insert (format "\nTotal in lisp objects: %s (live %s, dead %s)\n\n"
(memory-usage-format (+ dead live))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [ELPA-diffs] /srv/bzr/emacs/elpa r248: * memory-usage.el: Adjust for new values of garbage-collect.,
Stefan Monnier <=