unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
       [not found] ` <20070603110930.M29119@ccrma.Stanford.EDU>
@ 2007-06-03 14:57   ` Kjetil Svalastog Matheussen
  2007-06-03 16:33     ` Kjetil Svalastog Matheussen
  0 siblings, 1 reply; 12+ messages in thread
From: Kjetil Svalastog Matheussen @ 2007-06-03 14:57 UTC (permalink / raw)
  To: Bill Schottstaedt; +Cc: guile-devel



(CC guile-dev)


On Sun, 3 Jun 2007, Bill Schottstaedt wrote:

> Thanks!  I'll merge your changes into my versions this morning.
> I saw some discussion about the Boehm GC, but I didn't try it --
> let me know how it goes!
> 

I have it running now, and it feels much better. (gc) still triggers a 
glip in the sound though, but thats to be expected.

But the good things are (with snd_conffils.scm loaded):

* I don't hear any glips in the sound using a dac-size of 64. Can't 
  remember that ever working before. Even a dac-size of 1 almost works.

* When changing the range, there is no sign of the graphics now and then 
  lagging behind. I have never seen that before.


However, I need to run a test with the normal guile 1.9 as well. It might 
not be because of the Boehm GC, but I think so. I'll report back in case 
it wasn't the new GC.

I'm thinking about releasing a new version of snd-ls with embedded guile + 
boehm gc patch. It'll be a monster package, but snd feels so nice now that 
I might do it.



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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  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
  0 siblings, 1 reply; 12+ messages in thread
From: Kjetil Svalastog Matheussen @ 2007-06-03 16:33 UTC (permalink / raw)
  To: Bill Schottstaedt; +Cc: guile-devel



On Sun, 3 Jun 2007, Kjetil Svalastog Matheussen wrote:

> 
> 
> (CC guile-dev)
> 
> 
> On Sun, 3 Jun 2007, Bill Schottstaedt wrote:
> 
> > Thanks!  I'll merge your changes into my versions this morning.
> > I saw some discussion about the Boehm GC, but I didn't try it --
> > let me know how it goes!
> > 
> 
> I have it running now, and it feels much better. (gc) still triggers a 
> glip in the sound though, but thats to be expected.
> 

I have tried Snd with Guile 1.9 with and without the Boehm GC on the same 
two computers (amd xp3000 and intel mac MP 1.3gz) using the same version 
of Snd (8.4/snd-ls 0.9.7.12). And my experiences are as follows:


> But the good things are (with snd_conffils.scm loaded):
> 
> * I don't hear any glips in the sound using a dac-size of 64. Can't 
>   remember that ever working before. Even a dac-size of 1 almost works.
> 

This is the same behaviour for both versions of guile. On the MP machine, 
there is never any glips at all, on the other there are some.


> * When changing the range, there is no sign of the graphics now and then 
>   lagging behind. I have never seen that before.
> 

Large difference. Without the Boehm GC, graphic freezes for about 0.5 
seconds each 4th seconds. Very frustrating, just as with guile 1.8.1, but 
better than 1.6.x though. With the Boehm GC, on the other hand: no freeze 
at all.

Conclusion: Guile with the Boehm GC seems to improve interactivety for 
one guile programs by a large amount, somehow. It would be nice if
the Boehm GC was used in guile 1.8 as well, and enabled by default.



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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  2007-06-03 16:33     ` Kjetil Svalastog Matheussen
@ 2007-06-03 20:07       ` Kjetil Svalastog Matheussen
  2007-06-04 11:39         ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Kjetil Svalastog Matheussen @ 2007-06-03 20:07 UTC (permalink / raw)
  To: Bill Schottstaedt; +Cc: guile-devel



On Sun, 3 Jun 2007, Kjetil Svalastog Matheussen wrote:

> 
> 
> On Sun, 3 Jun 2007, Kjetil Svalastog Matheussen wrote:
> 
> > 
> > 
> > (CC guile-dev)
> > 
> > 
> > On Sun, 3 Jun 2007, Bill Schottstaedt wrote:
> > 
> > > Thanks!  I'll merge your changes into my versions this morning.
> > > I saw some discussion about the Boehm GC, but I didn't try it --
> > > let me know how it goes!
> > > 
> > 
> > I have it running now, and it feels much better. (gc) still triggers a 
> > glip in the sound though, but thats to be expected.
> > 
> 
> I have tried Snd with Guile 1.9 with and without the Boehm GC on the same 
> two computers (amd xp3000 and intel mac MP 1.3gz) using the same version 
> of Snd (8.4/snd-ls 0.9.7.12). And my experiences are as follows:
> 
> 
> > But the good things are (with snd_conffils.scm loaded):
> > 
> > * I don't hear any glips in the sound using a dac-size of 64. Can't 
> >   remember that ever working before. Even a dac-size of 1 almost works.
> > 
> 
> This is the same behaviour for both versions of guile. On the MP machine, 
> there is never any glips at all, on the other there are some.
> 
> 
> > * When changing the range, there is no sign of the graphics now and then 
> >   lagging behind. I have never seen that before.
> > 
> 
> Large difference. Without the Boehm GC, graphic freezes for about 0.5 
> seconds each 4th seconds. Very frustrating, just as with guile 1.8.1, but 
> better than 1.6.x though. With the Boehm GC, on the other hand: no freeze 
> at all.
> 

Here's another example of the difference between Guile's own built-in GC 
[1] and the Boehm GC [2]:

http://www.notam02.no/~kjetism/jack_capture_01.ogg
http://www.notam02.no/~kjetism/jack_capture_02.ogg

These are two soundfiles where Snd is used as a realtime software 
synthesizer receiving midi from an external program [3]. One of the files 
is produced using Guile with Guile's own built-in GC and the other is 
produced using Guile with the Boehm GC. I won't tell which is which, but I 
personally think its pretty obvious that one of them has a lot more steady 
rhythm than the other. The one I think has a lot more steady rhythm is 
produced with the Boehm GC.

This also gives some interesting opportunities. Earlier I considered 
scheduling sound from scheme as mostly useless because guile's garbage 
collector often decides to take long brakes. But with the Boehm GC, it 
actually sounds pretty descent. Scheduling from scheme is also a lot more 
convenient than the current situation where you must calculate start and 
end points in the realtime code to get proper timing, so this is great 
progress.



[1] ftp://ftp.dt.e-technik.uni-dortmund.de/pub/guile/snapshots/guile-core.unstable-20070429.tar.gz

[2] tla my-default-archive lcourtes@laas.fr--2006-libre
    tla get guile-core--boehm-gc

[3] (begin
      (load "rt-examples.scm")
      (start-synth "/hom/kjetism/Blub_mono16.wav" 60)
      (system "aplaymidi --port=rt-midi /hom/kjetism/bwv539.mid &"))
;;http://snd.cvs.sourceforge.net/snd/cvs-snd/rt-examples.scm?revision=1.16&view=markup



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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  2007-06-03 20:07       ` Kjetil Svalastog Matheussen
@ 2007-06-04 11:39         ` Ludovic Courtès
  2007-06-04 12:08           ` Kjetil S. Matheussen
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2007-06-04 11:39 UTC (permalink / raw)
  To: Kjetil Svalastog Matheussen; +Cc: Bill Schottstaedt, guile-devel

Hi,

Kjetil Svalastog Matheussen <k.s.matheussen@notam02.no> writes:

> [2] tla my-default-archive lcourtes@laas.fr--2006-libre
>     tla get guile-core--boehm-gc

So that's the one you've been using and referring to as "Guile + Boehm
GC"?  Glad to hear it!  ;-)

Did you make sure to compile libgc "the right way", so that locking in
with a multi-threaded libgc doesn't hurt performance[0]?

The main thing that needs to be done before we can consider this
solution now is to compare both memory usage _and_ execution time of the
two Guiles.  For instance, with the default settings, Guile + Boehm GC
is slightly faster than Guile when running `gcbench.scm', but it might
consume more memory.  This needs to be analyzed.  Reports as to how this
impacts SND are also more than welcome, of course!  ;-)

Besides, should using libgc be considered a viable option, Guile 1.8
will probably not switch to libgc (so that API- and ABI-compatibility is
maintained throughout the 1.8 series).  This change would only occur in
1.9 and the next stable branch.

Thanks!
Ludovic.

[0] http://article.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/1516/


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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  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
  0 siblings, 2 replies; 12+ messages in thread
From: Kjetil S. Matheussen @ 2007-06-04 12:08 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: Bill Schottstaedt, guile-devel, Kjetil Svalastog Matheussen

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2099 bytes --]



On Mon, 4 Jun 2007, Ludovic Courtès wrote:

> Hi,
>
> Kjetil Svalastog Matheussen <k.s.matheussen@notam02.no> writes:
>
>> [2] tla my-default-archive lcourtes@laas.fr--2006-libre
>>     tla get guile-core--boehm-gc
>
> So that's the one you've been using and referring to as "Guile + Boehm
> GC"?  Glad to hear it!  ;-)
>

Sorry I didn't write that in my first mail.



> Did you make sure to compile libgc "the right way", so that locking in
> with a multi-threaded libgc doesn't hurt performance[0]?
>

I have tried with and without both --enable-threads=posix 
and --enable-parallel-mark. No difference, it seems to work perfectly 
anyway.



> The main thing that needs to be done before we can consider this
> solution now is to compare both memory usage _and_ execution time of the
> two Guiles.

Yes, but for some kinds of software, like programs with custom gui's, 
sound processing programs, interactive graphical programs, interactivety 
is exclusively more important than those two. I consider the freeze that 
the guile's built-in gc cause to be its biggest problem.

In fact, I don't think execution time is an important factor here at all. 
Don't get me wrong, of course execution time is important in general, but 
a change in execution time of a gc benchmark program within the factor of 
two sounds like an insignificant difference compared to what is gained in 
interactivity.



>  For instance, with the default settings, Guile + Boehm GC is slightly 
> faster than Guile when running `gcbench.scm', but it might consume more 
> memory.  This needs to be analyzed.  Reports as to how this impacts SND 
> are also more than welcome, of course!  ;-)
>

I'm going to run Guile + Boehm GC + SND for a while now and report back if 
anything unusual happens. I might even release a special version of SND 
with guile + the Boehm GC included to the public in the near future, 
because of the huge advantages it has. This might generate a lot of 
feedback. And if no one reports back, then its a good sign that it works 
well.

[-- Attachment #2: Type: text/plain, Size: 143 bytes --]

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  2007-06-04 12:08           ` Kjetil S. Matheussen
@ 2007-06-04 12:45             ` Kjetil S. Matheussen
  2007-06-04 13:22             ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Kjetil S. Matheussen @ 2007-06-04 12:45 UTC (permalink / raw)
  To: Kjetil S. Matheussen; +Cc: Bill Schottstaedt, guile-devel



On Mon, 4 Jun 2007, Kjetil S. Matheussen wrote:
>>  The main thing that needs to be done before we can consider this
>>  solution now is to compare both memory usage _and_ execution time of the
>>  two Guiles.
>
> Yes, but for some kinds of software, like programs with custom gui's, sound 
> processing programs, interactive graphical programs, interactivety is 
> exclusively more important than those two. I consider the freeze that the 
> guile's built-in gc cause to be its biggest problem.
>

Actually, I haven't used guile for other interactive stuff than snd. And 
snd is huge. It could be that the boehm gc works a lot lot better for 
really large programs than guile's gc. I'll try to run the gc benchmark 
program inside snd (with lots of scheme files loaded), it might give some 
interesting results.



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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  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
  1 sibling, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2007-06-04 13:22 UTC (permalink / raw)
  To: Kjetil S. Matheussen; +Cc: Bill Schottstaedt, guile-devel

Hi,

"Kjetil S. Matheussen" <k.s.matheussen@notam02.no> writes:

> Yes, but for some kinds of software, like programs with custom gui's,
> sound processing programs, interactive graphical programs,
> interactivety is exclusively more important than those two. I consider
> the freeze that the guile's built-in gc cause to be its biggest
> problem.
>
> In fact, I don't think execution time is an important factor here at
> all. Don't get me wrong, of course execution time is important in
> general, but a change in execution time of a gc benchmark program
> within the factor of two sounds like an insignificant difference
> compared to what is gained in interactivity.

Right, "interactivity" may be an important metric for some classes of
applications, albeit one that can sometimes be hard to capture.  That
said, I guess a "large fraction" of Guile users will be even more
concerned about memory consumption and execution time.

> I'm going to run Guile + Boehm GC + SND for a while now and report
> back if anything unusual happens. I might even release a special
> version of SND with guile + the Boehm GC included to the public in the
> near future, because of the huge advantages it has. This might
> generate a lot of feedback. And if no one reports back, then its a
> good sign that it works well.

Alright, I'll wait for bug reports.  ;-)

> Actually, I haven't used guile for other interactive stuff than
> snd. And snd is huge. It could be that the boehm gc works a lot lot
> better for really large programs than guile's gc. I'll try to run the
> gc benchmark program inside snd (with lots of scheme files loaded), it
> might give some interesting results.

Cool, let us know how it goes.

I'll probably sync my `boehm-gc' branch with HEAD one of these days, too
(I think it doesn't lack a lot of upstream changes anyway).

Thanks!

Ludovic.


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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  2007-06-04 13:22             ` Ludovic Courtès
@ 2007-06-04 16:11               ` Kjetil S. Matheussen
  2007-06-04 16:50                 ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Kjetil S. Matheussen @ 2007-06-04 16:11 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Bill Schottstaedt, guile-devel, Kjetil S. Matheussen

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1337 bytes --]



On Mon, 4 Jun 2007, Ludovic Courtès wrote:

>> Actually, I haven't used guile for other interactive stuff than
>> snd. And snd is huge. It could be that the boehm gc works a lot lot
>> better for really large programs than guile's gc. I'll try to run the
>> gc benchmark program inside snd (with lots of scheme files loaded), it
>> might give some interesting results.
>
> Cool, let us know how it goes.
>

I used the gc benchmark program posted by Han-Wen:
http://www.mail-archive.com/guile-devel@gnu.org/msg01077.html

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

For normal guile I used 1.8.1, default gentoo build. (-O2)
For GC guile, I built from your tree. (also -O2)

Snd is snd-ls V0.9.7.12.

My machine is an XP2800, single processor.


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

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.

All tests performed twice to ensure nothing special happened in one of 
them. The numbers here are from last test, and are about the same as 
from the run.

[-- Attachment #2: Type: text/plain, Size: 143 bytes --]

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  2007-06-04 16:11               ` Kjetil S. Matheussen
@ 2007-06-04 16:50                 ` Ludovic Courtès
  2007-06-04 18:00                   ` Kjetil S. Matheussen
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2007-06-04 16:50 UTC (permalink / raw)
  To: Kjetil S. Matheussen; +Cc: Bill Schottstaedt, guile-devel

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?

> 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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  2007-06-04 16:50                 ` Ludovic Courtès
@ 2007-06-04 18:00                   ` Kjetil S. Matheussen
  2007-06-04 18:14                     ` Kjetil S. Matheussen
  2007-06-05  7:53                     ` Ludovic Courtès
  0 siblings, 2 replies; 12+ messages in thread
From: Kjetil S. Matheussen @ 2007-06-04 18:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Bill Schottstaedt, guile-devel, Kjetil S. Matheussen

[-- 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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  2007-06-04 18:00                   ` Kjetil S. Matheussen
@ 2007-06-04 18:14                     ` Kjetil S. Matheussen
  2007-06-05  7:53                     ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Kjetil S. Matheussen @ 2007-06-04 18:14 UTC (permalink / raw)
  To: Kjetil S. Matheussen; +Cc: Bill Schottstaedt, guile-devel



On Mon, 4 Jun 2007, Kjetil S. Matheussen wrote:
>
>
> (benchmark 20) in Guile:
> Guile: 4.4mb / 277s / 149mb
> Boehm: 4.4mb / 243s / 148mb
>

Unfortunately, that one was probably wrong. Here is the retest result with 
the Boehm GC guile:

Boehm: 5.2mb / 380s / 164mb




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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
  2007-06-04 18:00                   ` Kjetil S. Matheussen
  2007-06-04 18:14                     ` Kjetil S. Matheussen
@ 2007-06-05  7:53                     ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2007-06-05  7:53 UTC (permalink / raw)
  To: Kjetil S. Matheussen; +Cc: Bill Schottstaedt, guile-devel

Hi,

"Kjetil S. Matheussen" <k.s.matheussen@notam02.no> writes:

> and for guile I think you use -rpath? :

Yes.

> No. But I have ran a series of benchmarks now:

Thanks for doing this!

To sum up, BGC is always slower but usually more memory-efficient than
GGC.

In Guile + libgc, you could try adding:

  GC_set_free_space_divisor (2);

right before `GC_expand_hp ()' in `libguile/gc.c'.  AIUI, this would
trade memory for CPU time.

Ideally, we'd need a better benchmarking framework, where each benchmark
is run tens of times and where both the average and variance are
reported.  Unfortunately, I don't have much time to work on it right
now.

Thanks,
Ludovic.


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


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-06-05  7:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [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
2007-06-04 18:14                     ` Kjetil S. Matheussen
2007-06-05  7:53                     ` Ludovic Courtès

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).