Gentoo Archives: gentoo-user

From: Caveman Al Toraboran <toraboracaveman@××××××××××.com>
To: "gentoo-user@l.g.o" <gentoo-user@l.g.o>
Subject: Re: [gentoo-user] Is Gentoo dead?
Date: Thu, 23 Apr 2020 23:55:34
Message-Id: abtEMKbtoWrQVm6PzBKKUcauE41glRu_EtxffgtI8TttLB0IcyDHRdCNB2XmckL6RKEw2ezWI1iFQLetudIElEeaeDzYqszio4jk-4XkMbs=@protonmail.com
In Reply to: Re: [gentoo-user] Is Gentoo dead? by Alec Ten Harmsel
1 On Friday, April 24, 2020 1:03 AM, Alec Ten Harmsel <alec@××××××××××××××.com> wrote:
2
3 > If it's so easy, why don't you implement it? /s
4
5 because busy and got better things in life.
6
7 but what is your point?
8
9 1. are you trying to get to know me a bit closer?
10 2. or are you trying to indirectly a claim that
11 making portage faster is too hard?
12
13 if (1) then off-topic. if (2) then you're
14 committing a logical fallacy. some version of
15 appeal to majority? hence your claim is
16 unsubstantiated, and is deleted from space thanks
17 to occam's razor.
18
19 if it was too hard for most people in the past, it
20 doesn't mean that it is hard for everyone else.
21
22 not saying that your claim is wrong. but saying
23 that your tool to show that claim is not working.
24
25 not saying that your claim is right either. it's
26 so far floating somewhere in the ``unknown''
27 region (until a proof is presented; not a logical
28 fallacy).
29
30
31 > Sorry for being a little glib but every couple months I go through this thought process:
32 >
33 > 1. Wow, portage is slow
34 > 2. I can make this faster, it can't be that hard
35 > 3. ...wow, nevermind, it is really hard
36 > 4. Thank you portage maintainers!!!!!
37
38 if your point is to share history, thanks. else:
39 logical fallacy (read above).
40
41
42 > I don't think it's O(log n). Roughly, for 1 package portage has to make the full dep
43 > tree, solve all the constraints to resolve to actual packages that can be installed,
44 > and order and merge the tree into a single branch of packages to install. I'm
45 > probably missing some steps and obviously that's not a rigorous explanation but
46 > it's at least O(n) where n is the total number of dependencies.
47
48 not mutually exclusive. your n (number of deps)
49 is different than my n (number of packages in
50 portage). e.g. i think that :
51
52 O(your n) = O(log(my n))
53
54 i think the real trick is to split portage into
55 two separate parts:
56
57 1. index: pre-compiled indexed global dependency
58 graph. this should allow efficient jumping
59 into the right spot of the graph to efficiently
60 walk around to meet the dependencies based on
61 constraints (e.g. USE flags, versions).
62
63 imo this can do the dependency resolution that
64 emerge does in 45 seconds in less than 3
65 seconds.
66
67 2. scripts to carry out the compile/installation.
68
69 currently portage has (1) and (2) mixed into a
70 single directory-based structure containing files
71 in a format that is not efficient for graph
72 walking, and uses the wrong tool (python).
73
74
75 > Speeding up portage would be a fun project but it's less important
76 > that portage being correct.
77
78 yes, the speed issue is not a problem (more like a
79 psychological issue). but that's misleading.
80 portage's problems is beyond the timing issue.
81 e.g.:
82
83 1. the fact that emerge uses python is horrible.
84 ideally a package manager must have least
85 run-time dependencies possible. but now,
86 emerge is based on python, which limits our
87 freedom in upgrading python versions in the
88 fear of wrecking emerge (and getting stuck,
89 needing manual attention). which is why i
90 think ideally new emerge should be some
91 statically linked compiled binary.
92
93 2. i'm sure smart people can point out better
94 reasons about how emerge is wrong.