In article <[EMAIL PROTECTED]>, Ludovic Courtès <[EMAIL PROTECTED]> wrote: >* GC Stats > > I haven't thought much about this, but it looks is quite problematic. > We probably can't provide the level of details of `gc-stats'. And we > cannot either provide per-object-type information as currently > provided by `gc-live-object-stats' (this would require registering a > finalizer for each and every object in order to update the object > count). > > OTOH, per-object-type information, when needed, can be obtained by > writing code that makes use of one of the finalization mechanism. For > instance, one can wrap a type constructor, or a class `initialize' > method, so that every new instance is added to a guardian; then, said > guardian can be periodically queried to update the instance counter.
>I haven't done any serious performance measurement, but just to give an >idea, the test suite roughly takes as long to run with the current Guile >and with GBGC. However, GBGC seems to be slightly slower when running >programs that allocate and discard lots of cells: Hi, The per object GC stats are a hack of mine, and although I would be sad to see it go (it makes debugging memory leaks easier), I think getting BGC is worth it. I don't see the point of the general GC stats. I think I've never ever used it. Isn't it is possible to get other lowlevel statistics, or a list of live objects from BGC? > $ time ../pre-inst-guile -c "(use-modules (srfi srfi-1)) (fold (lambda (x y) > (list x)) '() (iota 300000)) (exit 0)" > > real 0m3.550s > user 0m3.383s > sys 0m0.162s > > $ time guile-1.8.0 -c "(use-modules (srfi srfi-1)) (fold (lambda (x y) (list > x)) '() (iota 300000)) (exit 0)" > > real 0m2.738s > user 0m2.650s > sys 0m0.059s there is a more useful benchmark at http://www.xs4all.nl/~hanwen/public/software/GCBench.scheme It's part of a suite by Hans Boehm of GC benchmarks, and I think you can find more Scheme transliterations on the net. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel