From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id wCUIHABDcGZLhQEAe85BDQ:P1 (envelope-from ) for ; Mon, 17 Jun 2024 14:06:56 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id wCUIHABDcGZLhQEAe85BDQ (envelope-from ) for ; Mon, 17 Jun 2024 16:06:56 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=kjZPr8Yn; dmarc=pass (policy=none) header.from=posteo.net; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1718633216; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=NjcrB0EdUmdGG4WQEQaCf/3K1JPQ8kCC/wJwO+ZRh/I=; b=ZHk3PcvJ63zrlktiiUz+ekBbiLib+4n/qX9pQpHn0ZBxCekjH/5yMm2l4kXo8tOSpNEvPG pPKGNnueGOS1/pRPPHKHgcBRsAxS4Up9NnW4YObxf/9NqIF8zQp8X1l46SY3e0tiOi672x 1PEMGdvtPfJYmavjJ62kwbTekuRunwbKneph2oxe7u7ns1AgAxlv2lLeBXc/75V5otNr3D XcKaoOEkMELa8eI/V4GurO+l+B6fnnbmAZgDkAHK9+hoavVM5V28+zIJDqqkwGRyHQn6vu Xr+JYEY1m5wDURIWBAIauXrLcFR50xigOkj3jP/DNROSTb6/CnlvLOTfmnqQpQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1718633216; a=rsa-sha256; cv=none; b=cY5p96hK35Umy8Fpe/UaHcQ1vMUykvy76C77X5fJUDN3CvKSz4dkLCmHD2GhJWvD/wAUqY GOHndHhrVexRkA9WeOm5srHxtUptRYohNNm+CB+n8qnTAMLg2V6Is4y5hbfdpRU3UtVCVk RWScM3VEPzKW7pqBzJFPysMJXes3C+eJm+77ejUqODoC2iWtIkNVJgRR6G4G0ZH7Jocrf4 j57Jy2uVb3UxU3PZTLqnwsHssC1KrRfSvRljVMdOrZTCail3wu5tftgjr2H7W2zo+RyT1B am0txKmHkGkkO0pe3MojzPcKksjVK3J+RiundTl08GzEulgZJzoigd4py7qdaQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=kjZPr8Yn; dmarc=pass (policy=none) header.from=posteo.net; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" 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 057423CF7E for ; Mon, 17 Jun 2024 16:06:56 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sJD01-0001An-9J; Mon, 17 Jun 2024 10:06:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sJAzr-0006g5-OW for guix-devel@gnu.org; Mon, 17 Jun 2024 07:58:04 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sJAzp-0000iv-0s for guix-devel@gnu.org; Mon, 17 Jun 2024 07:58:02 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 8C233240104 for ; Mon, 17 Jun 2024 13:57:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1718625477; bh=j64QNjxt2I8DcmF7c7XvkanmkomToqcvJ4SiRVnAFKI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:From:Content-Type: Content-Transfer-Encoding:From; b=kjZPr8YnAlmYZ4KMRwetnIBG/9EvWRIeZ1tnb6LQFMQSNGxn6izPI/pwCCTviMxMk +/FL2Iwk5T1U9Rqnrr/qOFMHKIVx4W6ztZNQ3GK+DNlGSkp5FANrUZJgc3ZIXG1TnR 1lwtbi/pje0N+32+fGD6xPcfshLO3K+Exg2XPovh5XZPZw2ucn7C8h8L2goPt/c3rT RzBcGOtC4UMNGcRt7dzAyD5FU5SbxocvgE/NAANzLljfWjXBMABUurxvFudheR6UOU Tyk613w7x1HjBiXSXcIRti3kEr0eAU3XilNnl/OPKVl4WR8EqYn7MQAXUuPKFQjhC4 rUZOdBjNalv9g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4W2pKx024Wz6tsf; Mon, 17 Jun 2024 13:57:56 +0200 (CEST) Message-ID: <5783e136-b8ee-4546-9673-d35009714199@posteo.net> Date: Mon, 17 Jun 2024 11:57:38 +0000 MIME-Version: 1.0 Subject: Re: "guix pack -f docker" does too much work To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= , Michal Atlas Cc: guix-devel@gnu.org References: <87sey0lqpn.fsf@elephly.net> <87wmmnak7n.fsf@gnu.org> Content-Language: en-US From: Michal Atlas In-Reply-To: <87wmmnak7n.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=185.67.36.66; envelope-from=michal_atlas@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 17 Jun 2024 10:06:19 -0400 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -7.07 X-Spam-Score: -7.07 X-Migadu-Queue-Id: 057423CF7E X-Migadu-Scanner: mx11.migadu.com X-TUID: WQvzASiWqg+r Hi, >> Also seems that Nix's way only quickly imports the changed layers? And >> Guix's always imports the whole thing, at least I think? > What do you mean by “imports the whole thing”? I'm not sure what exactly happens, so correct me if I'm wrong, however if I time the different approaches, I think that how Guix creates a single-layered image, then if anything changes the entire image gets re-imported into docker. Though with the layered approach, if only one or two paths change, then those get imported, (and even though there's still some baseline that compression takes up) docker importing just the changed paths is a very noticeable speedup. On that note, I know that guix pack goes through %compressors in order, however zstd is an insane improvement over gzip when working with containers, would it perhaps be possible to default to it, or would that break far too many workflows, or is there another reason? Perhaps during changing how guix pack works would be a good time to make both breaking changes at once? Thanks, Michal.