From: "Kjetil S. Matheussen" <k.s.matheussen@notam02.no>
To: "Ludovic Courtès" <ludovic.courtes@laas.fr>
Cc: Bill Schottstaedt <bil@ccrma.Stanford.EDU>,
guile-devel@gnu.org,
"Kjetil S. Matheussen" <k.s.matheussen@notam02.no>
Subject: Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
Date: Mon, 4 Jun 2007 20:00:07 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.0706041947280.16860@ttleush> (raw)
In-Reply-To: <87vee3k6jo.fsf@laas.fr>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 3228 bytes --]
On Mon, 4 Jun 2007, Ludovic Courtès wrote:
> Hi,
>
> "Kjetil S. Matheussen" <k.s.matheussen@notam02.no> writes:
>
>> libgc (v6.8) was compiled with the --enable-threads=posix only.
>
> So `THREAD_LOCAL_ALLOC' was defined in your libgc build, right?
>
Yes: -DTHREAD_LOCAL_ALLOC=1
>> 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?
>
I have to compile snd against libguile and its header files, so I have two
guile installed in two different directories, and set LD_LIBRARY_PATH to
the right place before running. LD_LIBRARY_PATH is set automatically in
the script that starts snd, and for guile I think you use -rpath? :
ldd -r /usr/bin/guile
linux-gate.so.1 => (0xffffe000)
libguile.so.17 => /usr/lib/libguile.so.17 (0xb7ed2000)
ldd -r /home/kjetil/site/bin/guile
linux-gate.so.1 => (0xffffe000)
libguile.so.18 => /home/kjetil/site/lib/libguile.so.18 (0xb7ed8000)
libgc.so.1 => /home/kjetil/site/lib/libgc.so.1 (0xb7ea8000)
>> 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?
>
Snd has its own REPLs which interacts with libguile.
> Is snd multi-threaded? Does it use `scm_without_guile ()' for instance
> (e.g., when a thread blocks for I/O)?
>
No, not when snd is being run standalone.
> 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
>
No. But I have ran a series of benchmarks now:
(benchmark 20) in Guile:
Guile: 4.4mb / 277s / 149mb
Boehm: 4.4mb / 243s / 148mb
----
(benchmark 20) in Snd:
Guile: 96mb / 336s / 216mb
Boehm: 99mb / 442s / 257mb [1]
----
(benchmark) (benchmark), in Snd:
Guile: 96mb / 58s / 174mb / 59s / 174mb
Boehm: 99mb / 105s / 108mb / 99s / 116mb
-----
(benchmark) (benchmark), in Guile:
Guile: 4.4mb / 50s / 78mb / 50s / 80mb
Boehm: 5.2mb / 74s / 55mb / 71s / 63mb [2]
[1] Memory usage flipped over from 182.2 to 256.6 right before the
benchmark was finished.
[2] I ran another time, and got 75s. It seems like my previous result of
50s might have been ran with the wrong program.
>
> 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).
>
Any tip about what to try? I did some tweaking with it 7 years ago
when I ported it to beos and worked on the amigaos port, but haven't
touched it since.
[-- Attachment #2: Type: text/plain, Size: 143 bytes --]
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel
next prev parent reply other threads:[~2007-06-04 18:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.64.0706031204540.9006@ttleush>
[not found] ` <20070603110930.M29119@ccrma.Stanford.EDU>
2007-06-03 14:57 ` Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex Kjetil Svalastog Matheussen
2007-06-03 16:33 ` Kjetil Svalastog Matheussen
2007-06-03 20:07 ` Kjetil Svalastog Matheussen
2007-06-04 11:39 ` Ludovic Courtès
2007-06-04 12:08 ` Kjetil S. Matheussen
2007-06-04 12:45 ` Kjetil S. Matheussen
2007-06-04 13:22 ` Ludovic Courtès
2007-06-04 16:11 ` Kjetil S. Matheussen
2007-06-04 16:50 ` Ludovic Courtès
2007-06-04 18:00 ` Kjetil S. Matheussen [this message]
2007-06-04 18:14 ` Kjetil S. Matheussen
2007-06-05 7:53 ` Ludovic Courtès
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=Pine.LNX.4.64.0706041947280.16860@ttleush \
--to=k.s.matheussen@notam02.no \
--cc=bil@ccrma.Stanford.EDU \
--cc=guile-devel@gnu.org \
--cc=ludovic.courtes@laas.fr \
/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).