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: Tue, 21 Mar 2023 06:36:23 -0400 Message-ID: References: <57668895-8EEA-44F7-BD46-9CDFAA11FD2C@gmail.com> <08b5f766ddd9da754a86@heytings.org> <08b5f766ddf4b33993cd@heytings.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15613"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Yuan Fu , emacs-devel To: Gregory Heytings Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Mar 21 11:37:31 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 1peZMw-0003r3-3c for ged-emacs-devel@m.gmane-mx.org; Tue, 21 Mar 2023 11:37:30 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1peZM6-0003Kx-JQ; Tue, 21 Mar 2023 06:36:38 -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 1peZM4-0003Ka-Q8 for emacs-devel@gnu.org; Tue, 21 Mar 2023 06:36:36 -0400 Original-Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1peZM3-0005lZ-5m for emacs-devel@gnu.org; Tue, 21 Mar 2023 06:36:36 -0400 Original-Received: by mail-pj1-x1031.google.com with SMTP id mp3-20020a17090b190300b0023fcc8ce113so4747737pjb.4 for ; Tue, 21 Mar 2023 03:36:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679394993; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=yaVRtxeLuPbSfNC1YLeD2NpcB1CzygCX8ugYNltX0sg=; b=XMqwMS3Jsysz8rZDfvihh7M2VHHeeAp7q1NGzyBjAw6yHeeLr13URJxq56yB2v9/NQ diJpExEhUH8fKEcR7G7c4G9EMH8VvbOHGIuYtLmf3SP6ma/EeW1bdNrXVrU0tpThKuu4 fOjxBuCMEXNCOE9jxmH67N8E3VAAa7U2iKxYb78tzpDW3EJyXzkfVx5OOYwz3pIJYNzA feKNRrWHkz0e9Bnb7N2xsE0z85KZVvbyygnrjAKTiZqk0fYmgAd7XmE7H72T1eY52eEe BK3jUMWHD1L97V7iQepFd6fCuENO11C3iV8zfG0WPKor7L/nFLTj98SeQ0psXlVp3zII PhNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679394993; h=content-transfer-encoding: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=yaVRtxeLuPbSfNC1YLeD2NpcB1CzygCX8ugYNltX0sg=; b=VhV0k/jaZZvs56icB2TZdllI1S72NRvh56QypZF0KEqdVP/Js0lj2YyjJhfSZcxlsK 7WYP2o53Zl31HgMpz3jP2QpouUG1UB2GGdoQdDt06qOXcCnmY5yKxfAeoeIe4BDqMTXv kY1nZJZ9yXM6q9bhXHY6fADM/yrKLaM12ZDGa9tdtYntIc4GkLCydqNjNiXWl4OMHFWj g1FusSsCaEVKrNsJHecT8mG11eJlUGt9KU20GFnKNRO2jZxSzSXuMA1MpBJKxfnvFCIj g3ccWkKvAMUY3S6yVTEe8wdeC5mIouMOEeQvo/Hrgt2p6IL59PHHLY+xXcYNCZky98MQ y6Kg== X-Gm-Message-State: AO0yUKXi4qdM1LCzkX66rUmOV3JjXi2osvOBK1z/Qc2LCxkVFjNUrbmA Ec+URTyIfP7Gd6oo/7TXRfFnVztJhGM0SHCrIKg= X-Google-Smtp-Source: AK7set+pZamKPg2VwZ2qqJQpSsCMeOecDBjK812TPAfNokDxuo2v5viBCHzyqc0Xt9Eh3q+v1zFBOc01cfd9VRc/rpY= X-Received: by 2002:a17:90a:ad45:b0:237:1fe0:b151 with SMTP id w5-20020a17090aad4500b002371fe0b151mr515641pjv.8.1679394993580; Tue, 21 Mar 2023 03:36:33 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::1031; envelope-from=owinebar@gmail.com; helo=mail-pj1-x1031.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, 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:304635 Archived-At: On Mon, Mar 20, 2023 at 9:55=E2=80=AFPM Lynn Winebarger wrote: > On Mon, Mar 20, 2023 at 8:25=E2=80=AFPM Gregory Heytings wrote: > > >> my recollection is that installing ~1200 packages on those systems a= nd > > >> "loading the world" took something like 5 minutes > > > > > > I'm not sure I understand what you mean here. Do you mean that > > > byte-compiling and loading ~1200 packages takes about 5 minutes (whic= h > > > would not be a problem per se AFAIU)? Or that loading ~1200 already > > > byte-compiled packages takes about 5 minutes? I took the file you > > > posted in bug#61004, modified it a bit to make it work with emacs -Q > > > (without external packages), and on my computer emacs -Q -l loadall.e= l > > > takes ~4.5 seconds. > > You're right, my wording is very confusing. The installation phase > took much, much longer than 5 minutes. Loading the world, after > everything was byte-compiled, took about 5 minutes. The 1200 packages > is just to give the number of directories prepended to the standard > load-path (it was more work to get those packages on those sandboxed > systems, hence "only" 1200, not the 2400+ I currently have on my > personal machine). The number of libraries being loaded was closer to > 4000, if I am recalling correctly (big if - this is ~9 months ago). > That was on fairly nice server hardware with SSDs, lots of RAM, and 24 > cores. > > I'm pretty sure the profiling report I filed for #61004 was generated > on a 2017-vintage laptop with a physically spinning disk for storage. > I don't think it would run emacs -Q -l loadall.el in 4.5 seconds on > that laptop, but with "-Q" you're taking out the main drag on the > startup time - having to search 1000-2000+ directories before getting > to the system directories where all the libraries in loadall.el will > actually be found. Thanks for checking this out, BTW. You could construct a test without external packages by just generating N directories, prepending them to the load path, then doing the same loadall to see if the degradation is purely due to the size of the load path. Lynn