guile-devel
[Top][All Lists]
Advanced

[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: Kjetil Svalastog Matheussen
Subject: Re: Experience with guile + Boehm GC in SND (Re: New versions of rt-compiler.scm, rt-examples.scm and rt.tex
Date: Sun, 3 Jun 2007 22:07:26 +0200 (CEST)


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 address@hidden
    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





reply via email to

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