From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lynn Winebarger Newsgroups: gmane.emacs.devel Subject: Re: Unboxed package manager Date: Mon, 20 Mar 2023 12:12:34 -0400 Message-ID: References: <57668895-8EEA-44F7-BD46-9CDFAA11FD2C@gmail.com> <87zg87saw8.fsf@posteo.net> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000902db005f75732c9" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7194"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Yuan Fu , emacs-devel To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Mar 20 17:13:47 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1peI8p-0001gY-5D for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Mar 2023 17:13:47 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1peI7u-0002RX-Ux; Mon, 20 Mar 2023 12:12:50 -0400 Original-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 1peI7t-0002RJ-E8 for emacs-devel@gnu.org; Mon, 20 Mar 2023 12:12:49 -0400 Original-Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1peI7r-0004Nb-IW for emacs-devel@gnu.org; Mon, 20 Mar 2023 12:12:49 -0400 Original-Received: by mail-pj1-x1033.google.com with SMTP id qe8-20020a17090b4f8800b0023f07253a2cso12937604pjb.3 for ; Mon, 20 Mar 2023 09:12:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679328766; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=l62t9izHxq1ie82I5OQ59SamBZzuNRaIdYgxC6MFSeM=; b=K4ai03iOhWlhv/WLbo80lGPT6CUZrKFm1WdhcNB07lJGWnngVmVcSoGO3Y4jk+BEct ZkTReOXO0qJNI41Z/EDjG4V/hthEM4lXxLggCAcpiO6tIdn7AyLFXc58SadBaDA0AnM6 LKnGmwU8IwZGsLhEGLiPdWSADlaqQocw0SIpFfPEnY1QeIrdKDER+EK8bbitWwWIyr6S aA/FWf3m9jerARFwN4CYPa0Pgn3JMDvFq5c83ObPjW4SxiiOBy9qzucZFKaoHP2CqhlI 2Tq4BtKLvAr9af0QKsctZ22jp8RDFoucpDHkZF5BNigxo8by4TZ5d61fXiuoHKK+gh3M L4dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679328766; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=l62t9izHxq1ie82I5OQ59SamBZzuNRaIdYgxC6MFSeM=; b=XzeJF5ta58AB9+eZQ7x3ohyalFQjIFExz6uC4rdd+krkR5KKWqG8KJbvx0cCJooujA Q5tNiGrcXBPziXOc5FcIfaAieV1RJGtJQW+MBq2vhnS0XGzNjfE5lGXge7ZLCl1qyx7P zbo8BVzeAuKw/gjatSycsZ4gewxpSVsTNKrQcAYL0xrYfXtpLxsU/4SuxPoqy65/Vezo oxd8DZ7t4a26wGiqe575RgekoDo+oWTTrvshqGtOZvqX24uDyrexASqYNJx15l9KDbqP QdH7D/r1QhGxG81T+HvgCtC4xi3/wsBX8WsB2DYNS9hfNZtTSIDM91mNwqG18wGgu/Co Jbyw== X-Gm-Message-State: AO0yUKVGYYM4BGUDZYJ3iPBWaPaCapwz0fzhihPylCYjEXHrcjQ9QFz9 U19WeSKdO0rqFuphZ0T1khs/2KrofBJUk8woBP8= X-Google-Smtp-Source: AK7set80tL1nxqnnGygHKMgeA0Cyy1V052IPEAOUa+BXgxfzoYvK2e4a409T1uJ2IM8i307zeJbDHpgQReeL7GxzirY= X-Received: by 2002:a17:902:db09:b0:1a0:4be5:ccea with SMTP id m9-20020a170902db0900b001a04be5cceamr6732247plx.9.1679328766076; Mon, 20 Mar 2023 09:12:46 -0700 (PDT) In-Reply-To: <87zg87saw8.fsf@posteo.net> Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=owinebar@gmail.com; helo=mail-pj1-x1033.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:304605 Archived-At: --000000000000902db005f75732c9 Content-Type: text/plain; charset="UTF-8" On Mon, Mar 20, 2023, 11:25 AM Philip Kaludercic wrote: > Lynn Winebarger writes: > > > On Mon, Mar 20, 2023, 4:55 AM Lynn Winebarger > wrote: > > > >> On Mon, Mar 20, 2023, 2:31 AM Yuan Fu wrote: > >> > >>> > On Mar 19, 2023, at 6:18 PM, Lynn Winebarger > >>> wrote: > >>> > > >>> > I've > >>> > done this manually on various systems I use with a significant > >>> > improvement in startup performance. > >>> > >>> It'll be interesting to see the numbers on the improvement. How much > does > >>> it improve startup time if there is x packages and y are loaded at > startup > >>> time? > >> > >> Good question. The systems I've done this manually on are one-off builds > >> of 28.x on sandboxed systems where the system emacs is 24.3. So, I > didn't > >> have to worry about managing package updates with any frequency. > > > > I don't have any hard measurements, but my recollection is that > installing > > ~1200 packages on those systems and "loading the world" took something > like > > 5 minutes, while a similar set of packages installed in a unified > directory > > takes about 1.5 minutes. > > I just skimmed through the initial message, and when reading this my > initial thought is does the the advantage justify effort/complexity, > considering that most users have an order of magnitude fewer packages > installed (of which a few are installed using package-vc which IIUC > would explicitly not want to make use of this feature). > I have no idea. There's a bit of a chicken and egg problem when installing packages is slow (even with a local mirror of the elpas) and having a lot of packages loaded slows down startup. I think I'm going to hack something together starting with advice on the existing package management and taking some inspiration from the design of Jonas Bernoulli's epkg and emir packages for tracking installed packages and component files in a SQLite database. Lynn --000000000000902db005f75732c9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Mar 20, 2023, 11:25 AM Philip Kaludercic <philipk@posteo.net> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">Lynn Winebarger <owinebar@gmail.com>= ; writes:

> On Mon, Mar 20, 2023, 4:55 AM Lynn Winebarger <owinebar@gmail.com> wrote:
>
>> On Mon, Mar 20, 2023, 2:31 AM Yuan Fu <
casouri@gmail.com>= wrote:
>>
>>> > On Mar 19, 2023, at 6:18 PM, Lynn Winebarger <owineba= r@gmail.com>
>>> wrote:
>>> >
>>> > I've
>>> > done this manually on various systems I use with a signif= icant
>>> > improvement in startup performance.
>>>
>>> It'll be interesting to see the numbers on the improvement= . How much does
>>> it improve startup time if there is x packages and y are loade= d at startup
>>> time?
>>
>> Good question. The systems I've done this manually on are one-= off builds
>> of 28.x on sandboxed systems where the system emacs is 24.3.=C2=A0= So, I didn't
>> have to worry about managing package updates with any frequency. >
> I don't have any hard measurements, but my recollection is that in= stalling
> ~1200 packages on those systems and "loading the world" took= something like
> 5 minutes, while a similar set of packages installed in a unified dire= ctory
> takes about 1.5 minutes.

I just skimmed through the initial message, and when reading this my
initial thought is does the the advantage justify effort/complexity,
considering that most users have an order of magnitude fewer packages
installed (of which a few are installed using package-vc which IIUC
would explicitly not want to make use of this feature).

I have no idea.=C2=A0 There's a bit of a chicken and egg problem = when installing packages is slow (even with a local mirror of the elpas) an= d having a lot of packages loaded slows down startup.=C2=A0=C2=A0
I think I'm going to hack something together starting wit= h advice on the existing package management and taking some inspiration fro= m the design of Jonas Bernoulli's epkg and emir packages for tracking i= nstalled packages and component files in a SQLite database.

Lynn