From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: cell heap usage in 1.8 vs 1.6 Date: Tue, 21 Aug 2007 00:16:42 +0200 Message-ID: <87lkc5q2b9.fsf@chbouib.org> References: <87ir7ff1ho.fsf@zip.com.au> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: sea.gmane.org 1187648251 10736 80.91.229.12 (20 Aug 2007 22:17:31 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 20 Aug 2007 22:17:31 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Aug 21 00:17:29 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 1INFYv-00013O-6Z for guile-devel@m.gmane.org; Tue, 21 Aug 2007 00:17:29 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1INFYv-0008KU-UB for guile-devel@m.gmane.org; Mon, 20 Aug 2007 18:17:29 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1INFYt-0008IQ-MX for guile-devel@gnu.org; Mon, 20 Aug 2007 18:17:27 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1INFYt-0008GW-1F for guile-devel@gnu.org; Mon, 20 Aug 2007 18:17:27 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1INFYs-0008GS-Dq for guile-devel@gnu.org; Mon, 20 Aug 2007 18:17:26 -0400 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1INFYq-00076L-MD for guile-devel@gnu.org; Mon, 20 Aug 2007 18:17:24 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1INFYk-0008Vk-Hh for guile-devel@gnu.org; Tue, 21 Aug 2007 00:17:18 +0200 Original-Received: from adh419.fdn.fr ([80.67.176.9]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Aug 2007 00:17:18 +0200 Original-Received: from ludo by adh419.fdn.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Aug 2007 00:17:18 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 44 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: adh419.fdn.fr X-URL: http://www.laas.fr/~lcourtes/ X-PGP-Key-ID: 0xEB1F5364 X-PGP-Key: http://www.laas.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: i486-pc-linux-gnu User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) Cancel-Lock: sha1:WRAJd1gDseKH58f8gWt4L6PLZBA= 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:6712 Archived-At: Hi Kevin, Kevin Ryde writes: > I'm having trouble in my charting program with the amount of heap space > allocated for cells in 1.8. It ends up allocating more and more heap > (as reported by gc-stats 'cell-heap-segments and confirmed by > mallinfo()), apparently without bound. I've got between 150k and 200k > objects according to gc-live-object-stats, which should be about 5Mb of > cells, but the heap keeps growing to as much as 60Mb. Did you try running it with HEAD? There were small GC-stats "cleanups" committed there that are not in 1.8, so it may be worth trying. Besides, is your Guile compiled with `-O2'? If not, it could be the case that large amounts of stack space are used, but not always overwritten, which erroneously leaves references to otherwise unreferenced objects on the stack. (That is unlikely to explain the whole phenomenon, though.) > Should the collected counts end up basically as "heapsize - liveobjects" > every time? I think so. > They seem to be smaller than that, but I don't know where > to look for how or why. scm_i_sweep_segment() looks slightly doubtful. > Does it deliberately not count the balance of a lazy sweep towards the > collected counts? Sorry, I don't understand what you mean here. > I wondered if a gc is provoked by the double cells > being exhausted but only a little of the single cells having been > collected, leaving a small collected count in the latter (or vice > versa). I dunno. At any rate, `(gc)' calls `scm_i_sweep all_segments ()', so this should allow you to test this hypothesis. Also, did you try fiddling with the `GUILE_MIN_YIELD_{1,2}' variables? Thanks, Ludovic. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel