From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: guile 3 update, september edition Date: Tue, 18 Sep 2018 09:50:35 +0200 Message-ID: <878t3zmegk.fsf@pobox.com> References: <87sh28msxt.fsf@pobox.com> <87musg79g4.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1537257061 15028 195.159.176.226 (18 Sep 2018 07:51:01 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 18 Sep 2018 07:51:01 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: Andy Wingo , guile-devel To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Sep 18 09:50:57 2018 Return-path: Envelope-to: guile-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 1g2Amd-0003hj-Gd for guile-devel@m.gmane.org; Tue, 18 Sep 2018 09:50:57 +0200 Original-Received: from localhost ([::1]:38934 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g2Aok-0007Km-2o for guile-devel@m.gmane.org; Tue, 18 Sep 2018 03:53:06 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57639) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g2Amh-0005rk-5M for guile-devel@gnu.org; Tue, 18 Sep 2018 03:50:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g2Ame-0006s8-0G for guile-devel@gnu.org; Tue, 18 Sep 2018 03:50:59 -0400 Original-Received: from fanzine.igalia.com ([91.117.99.155]:54879) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g2Amd-0006qw-NE; Tue, 18 Sep 2018 03:50:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From; bh=7EfaLtjpTF67O1UuByXgmeROFWRFT2nH6UD4sJNSWZo=; b=Q69vcQoJtVoyLSOOGXNoyvE3MLIWGyiPQgPyQpaX32NFu5lYBWAfjeXpt1cgret4Ic3tQa4WP6DEL1l1i3VNvDJURKpCKPTYNqfYSLzKzwtk2zJ3f5jdeppn1eAcBe/k7pvTkorZtlidtFXikEbAnW9IsMLuadsmZtdm+FGDCls8G+9euLqJVELIZFxvWh605L9kGeqGCfXCzqlkuo8MU6eQmvxLFDQ4riqdGgEC6gIbE7pM51doOJurZXqlM6/2r1K2+tBy2w8OAHbnj1WAeDk0PpkciUTAyhn2FLMF6iE+/I6IjBmRrZm3Ttf4/soQq66PJtq0lJPPYEoi0rqQoQ==; Original-Received: from cha74-2-88-160-190-192.fbx.proxad.net ([88.160.190.192] helo=sparrow) by fanzine.igalia.com with esmtpsa (Cipher TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim) id 1g2Amc-0002Lr-0l; Tue, 18 Sep 2018 09:50:54 +0200 In-Reply-To: <87musg79g4.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 17 Sep 2018 11:35:39 +0200") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] [fuzzy] X-Received-From: 91.117.99.155 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.org gmane.lisp.guile.devel:19667 Archived-At: Greets :) On Mon 17 Sep 2018 11:35, ludo@gnu.org (Ludovic Court=C3=A8s) writes: >> The threshold at which Guile will automatically JIT-compile is set from >> the GUILE_JIT_THRESHOLD environment variable. By default it is 50000. >> If you set it to -1, you disable the JIT. If you set it to 0, *all* >> code will be JIT-compiled. The test suite passes at >> GUILE_JIT_THRESHOLD=3D0, indicating that all features in Guile are >> supported by the JIT. Set the GUILE_JIT_LOG environment variable to 1 >> or 2 to see JIT progress. > > Just to be clear, does GUILE_JIT_THRESHOLD represents the number of > times a given instruction pointer is hit? No. It is an abstract "hotness" counter associated with a function's code. (I say "function's code" because many closures can share the same code and thus the same counter. It's not in the scm_tc7_program object because some procedures don't have these.) All counters start at 0 when Guile starts. A function's counters increment by 30 when a function is called, currently, and 2 on every loop back-edge. I have not attempted to tweak these values yet. >> Using GNU Lightning has been useful but in the long term I don't think >> it's the library that we need, for a few reasons: > > [...] > > It might be that the lightning 1.x branch would be a better fit (it was > exactly as you describe.) I think that=E2=80=99s what Racket was (is?) u= sing. Could be! I will have a look. Cheers, Andy