comparison lisp/diagnose.el @ 3313:509d2981ffea

[xemacs-hg @ 2006-03-28 17:43:43 by crestani] EMACS_INT -> double for gc_state, gc_state related clean up
author crestani
date Tue, 28 Mar 2006 17:43:54 +0000
parents aa0d3b22be72
children a921f5f2aa11
comparison
equal deleted inserted replaced
3312:b145b32294ff 3313:509d2981ffea
396 (defun show-gc-stats () 396 (defun show-gc-stats ()
397 "Show statistics about garbage collection cycles." 397 "Show statistics about garbage collection cycles."
398 (interactive) 398 (interactive)
399 (let ((buffer "*garbage collection statistics*") 399 (let ((buffer "*garbage collection statistics*")
400 (plist (gc-stats)) 400 (plist (gc-stats))
401 (fmt "%-9s %10s %10s %10s %10s %10s\n")) 401 (fmt "%-9s %16s %12s %12s %12s %12s\n"))
402 (flet ((plist-get-stat (category field) 402 (flet ((plist-get-stat (category field)
403 (or (plist-get plist (intern (concat category field))) 403 (let ((stat (plist-get plist (intern (concat category field)))))
404 "-")) 404 (if stat
405 (format "%.0f" stat)
406 "-")))
405 (show-stats (category) 407 (show-stats (category)
406 (princ (format fmt category 408 (princ (format fmt category
407 (plist-get-stat category "-total") 409 (plist-get-stat category "-total")
408 (plist-get-stat category "-in-last-gc") 410 (plist-get-stat category "-in-last-gc")
409 (plist-get-stat category "-in-this-gc") 411 (plist-get-stat category "-in-this-gc")
410 (plist-get-stat category "-in-last-cycle") 412 (plist-get-stat category "-in-last-cycle")
411 (plist-get-stat category "-in-this-cycle"))))) 413 (plist-get-stat category "-in-this-cycle")))))
412 (with-output-to-temp-buffer buffer 414 (with-output-to-temp-buffer buffer
413 (save-excursion 415 (save-excursion
414 (set-buffer buffer) 416 (set-buffer buffer)
415 (princ (format "%s %s\n" "Current phase" (plist-get plist 'phase))) 417 (princ (format "%s %g\n" "Current phase" (plist-get plist 'phase)))
416 (princ (make-string 64 ?-)) 418 (princ (make-string 78 ?-))
417 (princ "\n") 419 (princ "\n")
418 (princ (format fmt "stat" "total" "last-gc" "this-gc" 420 (princ (format fmt "stat" "total" "last-gc" "this-gc"
419 "last-cycle" "this-cylce")) 421 "last-cycle" "this-cylce"))
420 (princ (make-string 64 ?-)) 422 (princ (make-string 78 ?-))
421 (princ "\n") 423 (princ "\n")
422 (show-stats "n-gc") 424 (show-stats "n-gc")
423 (show-stats "n-cycles") 425 (show-stats "n-cycles")
424 (show-stats "enqueued") 426 (show-stats "enqueued")
425 (show-stats "dequeued") 427 (show-stats "dequeued")
426 (show-stats "repushed") 428 (show-stats "repushed")
427 (show-stats "enqueued2") 429 (show-stats "enqueued2")
428 (show-stats "dequeued2") 430 (show-stats "dequeued2")
429 (show-stats "finalized") 431 (show-stats "finalized")
430 (show-stats "freed") 432 (show-stats "freed")
431 (princ (make-string 64 ?-)) 433 (plist-get plist 'n-gc-total))))))
432 (princ "\n")
433 (princ (format fmt "explicitly"
434 "freed:"
435 (plist-get-stat "explicitly" "-freed")
436 "tried:"
437 (plist-get-stat "explicitly" "-tried-freed")
438 "")))
439
440 (plist-get plist 'n-gc-total)))))