interpretation of gc results

From: Brian Denheyer <briand_at_deldotd.com>
Date: Fri, 12 Mar 1999 14:10:24 -0800 (PST)

here are some results from using the time function :
<snip>
;; Time: 0.00ms
;; GC time: 0.00ms
;; Cells: 3877
;; Time: 16.67ms
;; GC time: 0.00ms
;; Cells: 4345
;; Time: 33.33ms
;; GC time: 0.00ms
;; Cells: 4813
;; Time: 83.33ms
;; GC time: 83.33ms
;; Cells: 5282

What does the "Cells" entry mean ? Is it the number of cells currently
in use or is it the number of cells which are collected by the GC
after it runs ?

;; GC statistics
;; -------------
;; cells used 63331/80000
;; # of used heaps 1
;; # of GC calls 21 (time spent in GC 1383.33ms)
(1 48082) (2 9) (4 1) (5 898) (6 44) (7 20) (8 180) (9 73) (10 12) (11 9) (12 17) (13 2) (14 19) (15 13) (16 15) (17 15) (18 232) (21 979) (22 10) (23 1) (24 1) (25 2) (26 2) (28 4) (31 2) (32 25) (33 540) (34 143) (37 8) (39 21) (40 2) (41 3) (42 5767) (45 560) (46 5609) (73 1) (74 1) (80 1) (90 8)
;;

What do these pairs in the (gc-stat) results mean ? is there
something there which might give me some insight into how my progam is
working ?

What I am seeing, in a program which uses a lot of consing, is that it
slows down considerably as it runs. I am trying to figure out if it
is the GC that is slowing it down or something else. Enlarging the
heap definitely helps, but it still seems to bog down.

Is it possible that as GC runs the memory fragments and allocating new
memory becomes a problem ?

Looking for insight on how to improve the running speed of this
program. Unfortunately "un-consing" it's operation is not really an
options since all of the operations are very dynamic and I don't
really have an opportunity to allocate fixed length structures like
vectors.

Brian
Received on Fri Mar 12 1999 - 23:12:17 CET

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST