[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-comp

From: Ludovic Courtès
Subject: Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
Date: Mon, 04 Jun 2007 18:50:35 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)


"Kjetil S. Matheussen" <address@hidden> writes:

> libgc (v6.8) was compiled with the --enable-threads=posix only.

So `THREAD_LOCAL_ALLOC' was defined in your libgc build, right?

> Running the benchmark program directly in guile gives no
> difference. Both spent about 50 seconds running the test.

"Directly in Guile" means that you just run:

  $ ./pre-inst-guile gcbench.scm

Is that correct?

> Inside snd is another matter:
>           [1]   [2]      [3]
> Guile gc  96mb  176mb    54s.
> Boehm gc  99mb  107mb   118s.
> [1] Memory before running test reported by top.
> [2] Memory after running test reported by top
> [3] Time to run test in seconds.

What does "inside snd" mean exactly?

Is snd multi-threaded?  Does it use `scm_without_guile ()' for instance
(e.g., when a thread blocks for I/O)?

Does the second run of `gcbench.scm' within Guile alone (no snd) show
similar performance behavior in the libgc case?  I.e.:

  $ guile-boehm --no-debug
  guile> (load "gcbench.scm")
  ;;; takes 50s. to complete
  guile> (load "gcbench.scm")
  ;;; takes 118s. to complete

For libgc, there are a few environment variables that might be
influential, e.g., `GC_MAXIMUM_HEAP_SIZE' (see `README.environment' from
libgc).  Likewise for Guile's GC, but they're undocumented AFAIK (grep
for `scm_getenv_int' in the `libguile' directory).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]