From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] /srv/bzr/emacs/trunk r109187: Adjust consing_since_gc when objects are explicitly freed. Date: Tue, 24 Jul 2012 08:30:08 +0400 Message-ID: <500E24D0.2040003@yandex.ru> References: <500D18D4.7010506@yandex.ru> <500D36C6.7000205@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1343104069 10939 80.91.229.3 (24 Jul 2012 04:27:49 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 24 Jul 2012 04:27:49 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jul 24 06:27:49 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1StWiq-0000Aq-GC for ged-emacs-devel@m.gmane.org; Tue, 24 Jul 2012 06:27:48 +0200 Original-Received: from localhost ([::1]:54489 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StWip-0007G8-9U for ged-emacs-devel@m.gmane.org; Tue, 24 Jul 2012 00:27:47 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:56895) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StWim-0007G3-31 for emacs-devel@gnu.org; Tue, 24 Jul 2012 00:27:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1StWil-0003em-4y for emacs-devel@gnu.org; Tue, 24 Jul 2012 00:27:44 -0400 Original-Received: from forward6.mail.yandex.net ([77.88.60.125]:36834) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StWik-0003ed-P9 for emacs-devel@gnu.org; Tue, 24 Jul 2012 00:27:43 -0400 Original-Received: from smtp6.mail.yandex.net (smtp6.mail.yandex.net [77.88.61.56]) by forward6.mail.yandex.net (Yandex) with ESMTP id 816591123682; Tue, 24 Jul 2012 08:27:41 +0400 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1343104061; bh=4gNfJd7xcHunitH3DGqMxT3Z08950e8JzRDCukZGM78=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=KDfGpc54ltennbrI7Nu++9or1vEHWqdT1FXmGUUCiI/7O20574LjKMxxkjbwgSzmW uoWr+b9EHQhRhgfiyvVNTlV8S5CGtv22f0lQ0R0rVk8g2oZdPRc5DRpM/yocNPsPK1 E8MvV2exDWMnRdum+3iVPqugO5p7h/kHfQ2XI3uc= Original-Received: from smtp6.mail.yandex.net (localhost [127.0.0.1]) by smtp6.mail.yandex.net (Yandex) with ESMTP id 5F79716403AC; Tue, 24 Jul 2012 08:27:41 +0400 (MSK) Original-Received: from unknown (unknown [37.139.84.55]) by smtp6.mail.yandex.net (nwsmtp/Yandex) with ESMTP id Reradp2Y-RfrC0Oi2; Tue, 24 Jul 2012 08:27:41 +0400 X-Yandex-Rcpt-Suid: monnier@IRO.UMontreal.CA X-Yandex-Rcpt-Suid: emacs-devel@gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1343104061; bh=4gNfJd7xcHunitH3DGqMxT3Z08950e8JzRDCukZGM78=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=Z6R26nFEQ+KCKKt9VWXM4RioYRG9bEaeLZ43WO5M36Q26fcuBmkH979diU9HZ+9dd XcH4fkn7sJK8HXg4E7cEoHjTzg/a7R6NCwrSEvRBd1Aet5pDDQIV4xUvEyEmPyblZ6 c47cM3hRbYkiib33MjjTw7fRx+R/SHsPgrImpOQo= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120713 Thunderbird/14.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 77.88.60.125 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:151841 Archived-At: On 07/24/2012 03:11 AM, Stefan Monnier wrote: > What helps? Adding those calls to free_marker, or adding the "decrement > consing_since_gc in free_marker"? I can believe the first, but I doubt > the second will make much of a difference. Local: both conses and markers are allocated very often, and explicitly freed ones most probably will be re-used again very soon, at the cost of link to/unlink from the free lists, thus avoiding possible new block allocation. Global: Ideal GC manages an infinite amount of memory so the collection is never started. For the real cases, some time periods are more advisable for running GC (when we're idle, for example); but, since we can't predict when "more advisable" time comes, it's the best bet to run GC as later as possible for the same amount of work. Dmitry