From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: phillip.lord@russet.org.uk (Phillip Lord) Newsgroups: gmane.emacs.devel Subject: Re: feature/integrated-elpa 4f6df43 15/23: README added Date: Wed, 19 Oct 2016 20:57:22 +0100 Message-ID: <871szc863h.fsf@russet.org.uk> References: <20160916203414.25203.87032@vcs.savannah.gnu.org> <831szh3iq4.fsf@gnu.org> <87mvi5spl9.fsf@Rainer.invalid> <83mvi51y3b.fsf@gnu.org> <87instslxu.fsf@russet.org.uk> <83inst1vut.fsf@gnu.org> <87eg3ekjz2.fsf@russet.org.uk> <83vawpx677.fsf@gnu.org> <87h989ixxd.fsf@russet.org.uk> <83mvi1ww6m.fsf@gnu.org> <87wph5fw0w.fsf@russet.org.uk> <838ttlwodt.fsf@gnu.org> <878ttl3342.fsf@Rainer.invalid> <8360opwjs2.fsf@gnu.org> <8760oosrn8.fsf@russet.org.uk> <83shrsvj3g.fsf@gnu.org> <87k2d4fk9m.fsf@russet.org.uk> <83h988uzpm.fsf@gnu.org> <87eg3ce2s1.fsf@russet.org.uk> <87pomw8ces.fsf@lifelogs.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1476908889 7429 195.159.176.226 (19 Oct 2016 20:28:09 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 19 Oct 2016 20:28:09 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 19 22:28:05 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bwxSr-0008Is-Cm for ged-emacs-devel@m.gmane.org; Wed, 19 Oct 2016 22:27:53 +0200 Original-Received: from localhost ([::1]:51100 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bwxSt-00027x-JO for ged-emacs-devel@m.gmane.org; Wed, 19 Oct 2016 16:27:55 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50512) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bwxPS-0007KS-BA for emacs-devel@gnu.org; Wed, 19 Oct 2016 16:24:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bwxPP-0008NH-B0 for emacs-devel@gnu.org; Wed, 19 Oct 2016 16:24:20 -0400 Original-Received: from cloud103.planethippo.com ([31.216.48.48]:45128) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bwxPP-0008My-3N for emacs-devel@gnu.org; Wed, 19 Oct 2016 16:24:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:References:Message-ID :Date:In-Reply-To:Subject:Cc:To:From; bh=Jw4HQva68EuwZPEJLHmRcWHnI6YuXXBpS2ztlRFLMsg=; b=G9ECt99kerbDZ7waEFnPOzDARs BSCkZIvdxmhLF1ckBCho3eN0+9pj/o+zvPt+F2lIR/0jiDa6X4YwYiTUVwJPIY9kU3zHzgKXgV+X7 LWzyBpmYbBHoItgxh292PIkcquVjdb6GKrxx+a7VCJDIR9TMtpN3P7pUYxcD29Xu98hPdI9izMpKK 5IlT2qnzLrTH/M2g+0Tx7ggVWX6Dm+sYyx+99idsicpdifVHOICom2y1ZjdbXdWOCKb++y3LeDV5s 9DTioBnkSV4VSqwFCgW2Abf6ORJl14MBetRTJIgOrU0/EddP2UxU9JKP5uuIxn1wn2eBtSRVoZrBe FgxxHjIw==; Original-Received: from cpc14-benw10-2-0-cust305.16-2.cable.virginm.net ([92.234.125.50]:34484 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86_1) (envelope-from ) id 1bwxPM-004N7E-Sl; Wed, 19 Oct 2016 21:24:17 +0100 In-Reply-To: (Stefan Monnier's message of "Wed, 19 Oct 2016 14:59:08 -0400") X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 31.216.48.48 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:208503 Archived-At: Stefan Monnier writes: >> I'd rather have the "lots of directories" setup, if I had to choose. >> It's significantly better in the long term IMHO, so it's worth >> short-term inconvenience and acclimation. > > If we take the files bundled with Emacs and look at how many ELPA > packages they would turn into, we'd end up with a load path that has > more than 200 elements. My load-path has 151 at the moment. Although a lot of these appear to be duplicates for some reason. > FWIW, I've always been wary of having "one dir per package" because of > the performance impact of having a thousand directories in load-path. > Lookup in a large directory is easily optimized to O(log N) or something > like that, but a search along load-path won't be similarly optimized by > the kernel. > > [ In `install.el` (an old package that predates package.el), I installed > all single-file packages into a shared directory specifically for > that reason. ] > This is not based on actual experience, tho, so maybe I'm worrying about > nothing. I think it's a valid concern, although as with all of these things, it's hard to tell without building it and trying it. I guess you would mostly be worried about start up? Of course, with a few heuristics, it would be possible to speed this up. For example, if we had a "one package per directory" layout, we could have `load` look for `blah.el` or `blah-subpackage.el` in the "blah" directory first. If package.el stored the current version of each package, somewhere, you could make this lookup pretty close to constant time. Phil