From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Kjetil S. 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: Mon, 4 Jun 2007 20:00:07 +0200 (CEST) Message-ID: References: <20070603110930.M29119@ccrma.Stanford.EDU> <87zm3gq77r.fsf@laas.fr> <87d50bq2gz.fsf@laas.fr> <87vee3k6jo.fsf@laas.fr> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-581449982-1180980007=:16860" X-Trace: sea.gmane.org 1180980029 16000 80.91.229.12 (4 Jun 2007 18:00:29 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 4 Jun 2007 18:00:29 +0000 (UTC) Cc: Bill Schottstaedt , guile-devel@gnu.org, "Kjetil S. Matheussen" To: Ludovic =?iso-8859-1?Q?Court=E8s?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jun 04 20:00:26 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 1HvGqu-0003V7-3O for guile-devel@m.gmane.org; Mon, 04 Jun 2007 20:00:24 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HvGqt-0002jT-Lh for guile-devel@m.gmane.org; Mon, 04 Jun 2007 14:00:23 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HvGql-0002d1-0m for guile-devel@gnu.org; Mon, 04 Jun 2007 14:00:15 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HvGqi-0002ab-7U for guile-devel@gnu.org; Mon, 04 Jun 2007 14:00:14 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HvGqi-0002aL-02 for guile-devel@gnu.org; Mon, 04 Jun 2007 14:00:12 -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 1HvGqh-0001D0-7s for guile-devel@gnu.org; Mon, 04 Jun 2007 14:00:11 -0400 Original-Received: from mail-mx4.uio.no ([129.240.10.45]) by pat.uio.no with esmtp (Exim 4.66) (envelope-from ) id 1HvGqe-0003Pr-Tc; Mon, 04 Jun 2007 20:00:08 +0200 Original-Received: from bjo1-1x-dhcp290.studby.uio.no ([193.157.245.38]) by mail-mx4.uio.no with esmtps (TLSv1:AES256-SHA:256) (Exim 4.66) (envelope-from ) id 1HvGqe-0000F0-F8; Mon, 04 Jun 2007 20:00:08 +0200 X-X-Sender: kjetil@ttleush In-Reply-To: <87vee3k6jo.fsf@laas.fr> X-UiO-Spam-info: not spam, SpamAssassin (score=0.0, required=12.0, autolearn=disabled, none) X-UiO-Scanned: 8D7D0DD00ABF29251C24519AAC59160FBE01ABA2 X-UiO-SPAM-Test: remote_host: 193.157.245.38 spam_score: 0 maxlevel 200 minaction 1 bait 0 mail/h: 1 total 97 max/h 4 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:6633 Archived-At: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-581449982-1180980007=:16860 Content-Type: TEXT/PLAIN; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Mon, 4 Jun 2007, Ludovic Court=E8s wrote: > Hi, > > "Kjetil S. Matheussen" writes: > >> libgc (v6.8) was compiled with the --enable-threads=3Dposix only. > > So `THREAD_LOCAL_ALLOC' was defined in your libgc build, right? > Yes: -DTHREAD_LOCAL_ALLOC=3D1 >> 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= =20 guile installed in two different directories, and set LD_LIBRARY_PATH to=20 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 =3D> (0xffffe000) libguile.so.17 =3D> /usr/lib/libguile.so.17 (0xb7ed2000) ldd -r /home/kjetil/site/bin/guile linux-gate.so.1 =3D> (0xffffe000) libguile.so.18 =3D> /home/kjetil/site/lib/libguile.so.18 (0xb7ed80= 00) libgc.so.1 =3D> /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=20 benchmark was finished. [2] I ran another time, and got 75s. It seems like my previous result of=20 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=20 when I ported it to beos and worked on the amigaos port, but haven't=20 touched it since. --8323328-581449982-1180980007=:16860 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel --8323328-581449982-1180980007=:16860--