From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: SHA256 performance with Guile 2.2 vs. Guile 3.0 Date: Tue, 07 Jan 2020 22:45:54 +0100 Message-ID: <87woa33ppp.fsf@pobox.com> References: <874kxcnlh8.fsf@inria.fr> <87sgkwm4uv.fsf@gnu.org> <871rse1bes.fsf@pobox.com> <875zhoex2c.fsf@gnu.org> <87mub0s6pw.fsf@pobox.com> <87pnfvjzhb.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="80701"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Cc: Andy Wingo , Guile Devel To: Ludovic =?utf-8?Q?Court=C3=A8s?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Jan 07 22:46:30 2020 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iowgC-000FW2-DR for guile-devel@m.gmane.org; Tue, 07 Jan 2020 22:46:24 +0100 Original-Received: from localhost ([::1]:56302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iowgA-0001Vx-SF for guile-devel@m.gmane.org; Tue, 07 Jan 2020 16:46:22 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43837) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iowfv-0001Ql-If for guile-devel@gnu.org; Tue, 07 Jan 2020 16:46:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iowfu-0006C1-Ii for guile-devel@gnu.org; Tue, 07 Jan 2020 16:46:07 -0500 Original-Received: from fanzine.igalia.com ([178.60.130.6]:42954) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iowfu-0006AB-9f; Tue, 07 Jan 2020 16:46:06 -0500 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=R+5uJBJL9yYUuITzlPSxwPC3zlEiF8Z3lVzneCGhNRE=; b=oYi7QqDPTKl238FCDOgAfDhzip9xRwR4PH+Glq0OdEL/2+94eOkcNmO+cZLH9JcapGW7YVz5Cae4BOUyy+PjkDkSFfDbN3kDEa57f+ReLXSgfIdWYh1kh9ZtCwIk1x+/9CA5ZeYFpWhFaIcQbaUTTNp8b1x2UyUqL61J6Zx01Ulet7A4qP7kb0fLdlNsMhQSP4iCKbhp94XAX6pKO6eAEn6rAvog1y7sKI2SBL74HnSXb2Fc4URtqfu5h7yvqg511QYCn0wRagTLNL2/KhsEOhQJHyAjdk67j3wXzwAYYGCSjXqSZZVdtFko2ctmDddIoI2GNXYC/WfFnB2NM7GSVA==; Original-Received: from [88.123.12.110] (helo=sparrow) by fanzine.igalia.com with esmtpsa (Cipher TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim) id 1iowfs-00020J-SV; Tue, 07 Jan 2020 22:46:05 +0100 In-Reply-To: <87pnfvjzhb.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 07 Jan 2020 12:08:16 +0100") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] [fuzzy] X-Received-From: 178.60.130.6 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.23 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:20241 Archived-At: On Tue 07 Jan 2020 12:08, Ludovic Court=C3=A8s writes: > Andy Wingo skribis: > >> Concretely I would add a little part of the compiler to the Tree-IL >> phase to serialize a bytecode for the "small" definitions in the module, >> for declarative modules, both public and private (because public >> definitions may alias private definitions). This would be stored as a >> bytevector in an additional field of the module, and the program being >> compiled would be transformed to initialize the "lto" field (placeholder >> name) of the module, so that once the compiled module is loaded, we have >> the inlinable bindings. I think this can be done compatibly. > > OK, sounds great. What are your thoughts about versioning that wire > Tree-IL representation? It would be a little bytecode language, with its own versioning considerations. It would need to have a translation to and from Tree-IL, though not necessarily lossless. It would change only in ABI-compatible ways, using the bytecode version of the Guile doing the compilation as a proxy for what is OK to support. A