Hi,

"Kjetil S. Matheussen" <[EMAIL PROTECTED]> 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).

Thanks,
Ludovic.


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to