From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id IC9CIw1D8165QwAA0tVLHw (envelope-from ) for ; Wed, 24 Jun 2020 12:11:57 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id uLg4Hw1D816fLgAA1q6Kng (envelope-from ) for ; Wed, 24 Jun 2020 12:11:57 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 251BA9404C3 for ; Wed, 24 Jun 2020 12:11:56 +0000 (UTC) Received: from localhost ([::1]:60500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo4Fv-0004qe-V6 for larch@yhetil.org; Wed, 24 Jun 2020 08:11:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51626) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo4FW-0004cb-Ss; Wed, 24 Jun 2020 08:11:30 -0400 Received: from fanzine.igalia.com ([178.60.130.6]:49360) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jo4FU-0000m6-FF; Wed, 24 Jun 2020 08:11:30 -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=LBDw3BWEMSQZpZaeZsQJA8B8e5H5erXXaiXTsJCfoBU=; b=puwuuXIyf+3LM7YiBEXwTfXYajzIoaB3vuyPk3lENT9Jv/R94WuuqFveVV2FJAQ8+Dv4eHlmYC0Y/SU2oQhSh9/V9hxJrxuKGAw+HpL/JJZwBfzfkGqWDxcH2R2VkP+wK56BBlt0WUnjT2x4X4vEwdBt0DNIBbjaA8+I4LIpBpvXRxDopoD3x1EaxnKvuICQx9dBJW+ttJMHssEDpXGe7GAj5NVgVZtuNL1ZfnMrVQCCwW4cwcG+Q2bba1qlx1YOULeiFd931JLfcqjs9DXOHKYQ+v1XzivwMNYGmNJMCyrYkrNWGa8Ab/UKy9vfVdSa/jUE247KU1fZoSr1V3lqtQ==; Received: from 82-65-63-215.subs.proxad.net ([82.65.63.215] helo=sparrow) by fanzine.igalia.com with esmtpsa (Cipher TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim) id 1jo4FQ-0002FL-Eg; Wed, 24 Jun 2020 14:11:24 +0200 From: Andy Wingo To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: The size of =?utf-8?B?4oCYLmdv4oCZ?= files References: <875zc5z18d.fsf@gnu.org> <877dwirndv.fsf@igalia.com> <87sgf4gr01.fsf@gnu.org> Date: Wed, 24 Jun 2020 14:11:14 +0200 In-Reply-To: <87sgf4gr01.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 09 Jun 2020 18:09:50 +0200") Message-ID: <87k0zw3bq5.fsf@pobox.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: neutral client-ip=178.60.130.6; envelope-from=wingo@pobox.com; helo=fanzine.igalia.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 08:08:07 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x (no timestamps) [generic] [fuzzy] X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel , Guile Devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=puwuuXIy; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=pobox.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.11 X-TUID: FIxrN+Zy0I3f Hi :) On Tue 09 Jun 2020 18:09, Ludovic Court=C3=A8s writes: > Andy Wingo skribis: > >> The guile.arities section starts with a sorted array of fixed-size >> headers, then is followed by a sequence of ULEB128 references to local >> variable names, including non-arguments. The size is a bit perplexing, >> I agree. I can think of a number of ways to encode that section >> differently but we'd need to understand a bit more about it and why the >> baseline compiler is significantly different. > > =E2=80=98.guile.arities=E2=80=99 size should be proportional to the numbe= r of > procedures, right? Additionally, if there are only/mostly thunks, the > string table for argument names should be small if not empty. For N > thunks, I would expect roughly N 28-byte headers + NxM UL128, say 100 > bytes per thunk; there=E2=80=99s 1000 of them, so we should be ~100,000 b= ytes. > This is roughly what we get observe with the baseline compiler. Yes but that doesn't mean that you can directly compare baseline to CPS -- CPS has many more intermediate names than baseline for non-argument locals, all of which end up getting entries in the arities section. Andy