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