From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Wingo Subject: Re: Medium-term road map Date: Mon, 27 Apr 2020 10:16:03 +0200 Message-ID: <87pnbtwdh8.fsf@igalia.com> References: <87mu6zd6tz.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:45134) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jSywh-0003g2-MM for guix-devel@gnu.org; Mon, 27 Apr 2020 04:17:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jSywS-0000GL-Kf for guix-devel@gnu.org; Mon, 27 Apr 2020 04:16:55 -0400 In-Reply-To: <87mu6zd6tz.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sat, 25 Apr 2020 15:37:44 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel On Sat 25 Apr 2020 15:37, Ludovic Court=C3=A8s writes: > 2. Performance. There are many things we can improve there, first and > foremost: the =E2=80=9CComputing derivation=E2=80=9D part of =E2=80= =98guix pull=E2=80=99, Guile=E2=80=99s > compiler terrible time and space requirements I think I have a solution here, as discussed on IRC. Basic idea is to make a direct compiler from Tree-IL to bytecode, skipping the CPS step. The result won't be optimal in terms of generated code quality (I estimate on average 2x slowdown) but it will be very cheap to produce (I estimate 10x improvement in time, and going from O(n log n) space to O(n), with better constant factors. We'd use this compiler for -O0 or maybe even -O1 code. Got to spend a few days working it up tho! Andy