unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: lilydev@muurbloem.xs4all.nl (Han-Wen Nienhuys)
Subject: Re: Guile + Boehm GC: First Remarks
Date: Thu, 1 Jun 2006 01:10:10 +0000 (UTC)	[thread overview]
Message-ID: <e5lepi$min$1@sea.gmane.org> (raw)
In-Reply-To: 877j42r32u.fsf@laas.fr

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2165 bytes --]

In article <877j42r32u.fsf@laas.fr>,
Ludovic Courtès <ludovic.courtes@laas.fr> 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


  parent reply	other threads:[~2006-06-01  1:10 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-31  8:49 Guile + Boehm GC: First Remarks Ludovic Courtès
2006-05-31 20:11 ` Neil Jerram
2006-06-01  1:17   ` Han-Wen Nienhuys
2006-06-01  7:22     ` Ludovic Courtès
2006-06-01  7:35       ` Mikael Djurfeldt
2006-06-01  8:28         ` Ludovic Courtès
2006-06-01  8:50           ` Mikael Djurfeldt
2006-06-01  9:42             ` Ludovic Courtès
2006-06-01 12:04               ` Ludovic Courtès
2006-06-04 22:24         ` Han-Wen Nienhuys
2006-06-02  0:01     ` Neil Jerram
2006-06-02  8:06       ` Mikael Djurfeldt
2006-06-01  7:55   ` Ludovic Courtès
2006-06-02  0:07     ` Neil Jerram
2006-06-02 12:41       ` Ludovic Courtès
2006-10-15  0:04         ` Han-Wen Nienhuys
2006-10-16  7:46           ` Ludovic Courtès
2006-10-18 11:21             ` Han-Wen Nienhuys
2006-10-19 14:25               ` Ludovic Courtès
2006-10-25 18:47                 ` Neil Jerram
2006-10-18 11:34             ` Han-Wen Nienhuys
2006-10-19 14:28               ` Ludovic Courtès
2006-10-18 14:42             ` Han-Wen Nienhuys
2006-11-26 18:48               ` Ludovic Courtès
2006-10-18 14:59             ` Han-Wen Nienhuys
2006-10-18 15:42             ` Han-Wen Nienhuys
2006-10-18 16:10             ` Han-Wen Nienhuys
2006-10-18 16:53             ` Han-Wen Nienhuys
2006-06-01  1:10 ` Han-Wen Nienhuys [this message]
2006-06-01  8:09   ` Ludovic Courtès
2006-06-18 18:00 ` Clinton Ebadi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='e5lepi$min$1@sea.gmane.org' \
    --to=lilydev@muurbloem.xs4all.nl \
    --cc=hanwen@lilypond.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).