From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kjetil Svalastog Matheussen Newsgroups: gmane.lisp.guile.devel 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) Message-ID: References: <20070603110930.M29119@ccrma.Stanford.EDU> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: sea.gmane.org 1180901198 5371 80.91.229.12 (3 Jun 2007 20:06:38 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 3 Jun 2007 20:06:38 +0000 (UTC) Cc: guile-devel@gnu.org To: Bill Schottstaedt Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Jun 03 22:06:36 2007 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HuwLT-0002CE-Qu for guile-devel@m.gmane.org; Sun, 03 Jun 2007 22:06:36 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HuwLT-0000K8-EN for guile-devel@m.gmane.org; Sun, 03 Jun 2007 16:06:35 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HuwLR-0000Jt-Bw for guile-devel@gnu.org; Sun, 03 Jun 2007 16:06:33 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HuwLQ-0000Jh-IS for guile-devel@gnu.org; Sun, 03 Jun 2007 16:06:32 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HuwLQ-0000Je-EQ for guile-devel@gnu.org; Sun, 03 Jun 2007 16:06:32 -0400 Original-Received: from pat.uio.no ([129.240.10.15]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1HuwLP-00081H-OG for guile-devel@gnu.org; Sun, 03 Jun 2007 16:06:32 -0400 Original-Received: from mail-mx8.uio.no ([129.240.10.38]) by pat.uio.no with esmtp (Exim 4.66) (envelope-from ) id 1HuwLO-0001kt-A9; Sun, 03 Jun 2007 22:06:30 +0200 Original-Received: from notam02.uio.no ([129.240.197.34] helo=iannis.localdomain) by mail-mx8.uio.no with esmtps (TLSv1:AES256-SHA:256) (Exim 4.66) (envelope-from ) id 1HuwLN-0004U1-ND; Sun, 03 Jun 2007 22:06:30 +0200 Original-Received: from iannis.localdomain (localhost [127.0.0.1]) by iannis.localdomain (8.13.1/8.13.1) with ESMTP id l53K7RFi009932; Sun, 3 Jun 2007 22:07:27 +0200 Original-Received: from localhost (kjetism@localhost) by iannis.localdomain (8.13.1/8.13.1/Submit) with ESMTP id l53K7Qo6009929; Sun, 3 Jun 2007 22:07:27 +0200 X-Authentication-Warning: iannis.localdomain: kjetism owned process doing -bs X-X-Sender: kjetism@iannis.localdomain In-Reply-To: X-UiO-Spam-info: not spam, SpamAssassin (score=-1.1, required=12.0, autolearn=disabled, AWL=-1.106) X-UiO-Scanned: 5C9138A4C53507908E28B70D79671F421A852D84 X-UiO-SPAM-Test: remote_host: 129.240.197.34 spam_score: -10 maxlevel 200 minaction 2 bait 0 mail/h: 1 total 2638 max/h 25 blacklist 0 greylist 0 ratelimit 0 X-detected-kernel: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:6626 Archived-At: 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