From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Ken Raeburn Newsgroups: gmane.emacs.devel Subject: Re: Let's make the GC safe and iterative (Was: Re: bug#30626) Date: Mon, 5 Mar 2018 01:31:56 -0500 Message-ID: <03118DC0-39DA-4AB5-980E-A33809B9A5EE@raeburn.org> References: <87inaiss6l.fsf@web.de> <6FCF6ACA-4F29-4B6B-BE9D-D7130C6E9495@gnu.org> <87fu5moe4c.fsf@web.de> <877eqyocro.fsf@web.de> <83zi3uz4nb.fsf@gnu.org> <0b1dd3fa-e0b0-ed20-a256-dd92d1c1826f@dancol.org> <8bc3c4c7-dfc7-987a-95e7-bd309e2326c6@cs.ucla.edu> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1520231448 31199 195.159.176.226 (5 Mar 2018 06:30:48 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 5 Mar 2018 06:30:48 +0000 (UTC) Cc: Daniel Colascione , Emacs developers To: Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 05 07:30:44 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1esjdz-0007DZ-4L for ged-emacs-devel@m.gmane.org; Mon, 05 Mar 2018 07:30:43 +0100 Original-Received: from localhost ([::1]:47379 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1esjg0-00080i-6B for ged-emacs-devel@m.gmane.org; Mon, 05 Mar 2018 01:32:48 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43702) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1esjfI-00080W-Hn for emacs-devel@gnu.org; Mon, 05 Mar 2018 01:32:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1esjfE-00080v-2L for emacs-devel@gnu.org; Mon, 05 Mar 2018 01:32:04 -0500 Original-Received: from mail-qk0-x230.google.com ([2607:f8b0:400d:c09::230]:46669) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1esjfD-00080f-UM for emacs-devel@gnu.org; Mon, 05 Mar 2018 01:32:00 -0500 Original-Received: by mail-qk0-x230.google.com with SMTP id 130so19313962qkd.13 for ; Sun, 04 Mar 2018 22:31:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=JAVIlmiysDhHk3nZEySv1y8Sa5fZRi0BwnJiGzihkvE=; b=MvHTMKbRp+yDUvwdVszuSDUtYEe+vxzf5Zegk1pdLX0Zc3H+LgbrDOakA92LmgbU2j hmQsiA6LdIo3t0xKxQZUIxOfRyM9/umEbaU4B29+tuPPZcL6IrK3PWbyD2KaTfdN2gLI dXJPkF5DKcJUrSGvBHbJPe3cbahXA86LehMLjcMKq1cLrSS35PZX+V95Hj893+/cJYSL eXDhWsNUicVIKdY0nDFS7cuQ7RxviKNhmnVeEpHGSRvKyxxHBKJn3S91wX8rTd55kWIo JvADOUmuLwpz90BL4OVF3emMR8XgiEiTe3COCvKYyJLPhmhIn55u04sUozOd+t9rK/rY C81w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=JAVIlmiysDhHk3nZEySv1y8Sa5fZRi0BwnJiGzihkvE=; b=JtVD1XA3Uel/+gcPdUy/bKPBBQn+uxs+9xRMGyBZmKUiWK0osb1SR7Si7m5nSJ9OoT /t9HR4u6A21oBwBg5/jsOVnABWeH9XrTplKCE7cmSeoKBC6BjCA7cfi1tGFzYLvFW+h2 8ZwvWF9EAPJ8sIaBHdNK1nMxtGWQjnnhntrdV276WV71STZPDZQxkxJDiRCxZEDLkryu 74kwhMb9tvJzit7dolxcoclvjGKr81v6LXOzSDbAqBdA/VxyDCB3LD5IitW9RdGsCRpq FDeu642O149KVFdDgSTX4qZZwWmMVUXiZ/VTYWt/R4Jp45S10x2F1BwSQFSbdfwqUBpD G0OQ== X-Gm-Message-State: AElRT7EesyhqIVOjEil9MVGGNN43xC1k94UzEX2vPrANYvtKFOoNabBz w/9C1iZNGJJrfOYPwm8qXb32MdM2q1Y= X-Google-Smtp-Source: AG47ELtU/XcGQPJv+az7NVSi0arlBENwMOx+vuxLZXuWVr6cs+n/LIkcHykmgo3NUCrL1OhJtzY5vQ== X-Received: by 10.55.73.7 with SMTP id w7mr19484398qka.317.1520231519063; Sun, 04 Mar 2018 22:31:59 -0800 (PST) Original-Received: from [192.168.23.135] (c-73-253-167-23.hsd1.ma.comcast.net. [73.253.167.23]) by smtp.gmail.com with ESMTPSA id u37sm8612769qtj.33.2018.03.04.22.31.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 04 Mar 2018 22:31:58 -0800 (PST) In-Reply-To: <8bc3c4c7-dfc7-987a-95e7-bd309e2326c6@cs.ucla.edu> X-Mailer: Apple Mail (2.3445.5.20) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::230 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:223275 Archived-At: On Mar 1, 2018, at 18:29, Paul Eggert wrote: > On 03/01/2018 03:22 PM, Daniel Colascione wrote: >> What do you think? >=20 > Thanks, I like the idea. I suggest implementing the naive version = first. Although the more-elaborate versions saves virtual memory, it's = not clear that it'd be an overall performance win in the typical case, = so my guess is that it's better to start simple. The more-elaborate version looks like it=E2=80=99s more likely to win on = locality of reference as it scans blocks sequentially. That could be = significant=E2=80=A6 especially if anyone is so unfortunate as to still = run Emacs on a system small enough that has to page out part of the Lisp = memory. I like the second approach a bit better, but either way, getting away = from using the C stack sounds like a big improvement. Ken=