Gentoo Archives: gentoo-dev

From: "William L. Thomson Jr." <wlt-ml@××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Native vs Scripting language for portage speed concerns was -> Sets vs Meta ebuilds
Date: Mon, 10 Jul 2017 23:56:25
Message-Id: assp.03641d49b5.20170710195614.184974cb@o-sinc.com
In Reply to: Re: [gentoo-dev] Sets vs Meta ebuilds by Gordon Pettey
1 On Mon, 10 Jul 2017 17:47:45 -0500
2 Gordon Pettey <petteyg359@×××××.com> wrote:
3
4 > On Mon, Jul 10, 2017 at 5:24 PM, Michał Górny <mgorny@g.o>
5 > wrote:
6 >
7 > > On pon, 2017-07-10 at 17:40 -0400, William L. Thomson Jr. wrote:
8 > > > Stop getting lost in the weeds!!!!
9 > > > You all are making this about -c vs -C. I am not talking about
10 > > > that!
11 > > >
12 > > > LET ME CLARIFY....
13 > > >
14 > > > When using -C, portage SHOULD warn for dependencies like it does
15 > > > for profile and set packages, PERIOD. NOTHING to do with -c vs -C.
16 > > >
17 > > > When using -c the output should say in layman's terms,
18 > > > "Not removing package A because it is a dependency"
19 > >
20 > > William, I'm not sure if you're aware of how package managers work
21 > > but checking reverse dependencies of a package takes significant
22 > > amount of time.
23 >
24 >
25 > for x in $(eix -I --only-names); do time equery g $x > /dev/null; done
26 >
27 > The only single package on my system that took more than 2 seconds
28 > total time was gcc. The idea that that is too much time to add to
29 > emerge -c or -C, which in my experience already takes multiple
30 > seconds to run anyway is kind of silly.
31
32 IMHO anyone complaining about time taking for dependency resolution
33 etc. They should spend THEIR time writing stuff in a real native
34 language for speed.
35
36 The difference I see with jem[1] vs java-config, is ridiculous.
37 Sometimes I merge hundreds of java packages. All those milliseconds add
38 up. Not to mention resources, ram, CPU, and all drains your battery...
39
40 If aspects of portage were done in C or C++, or maybe even Go. There
41 would be substantial performance improvements. The existing python code
42 can remain. Python can load and call functions from C/C++ DSO. And vice
43 versa, calling Python code from C/C++. I would say C vs C++ but that is
44 up to others.
45
46 Put my time where my mouth is... Well I did, its called jem. What is
47 jem? Its java-config ported to C. I would be looking to port more of
48 Gentoo's tools to C for longevity and speed. Not speed of development,
49 but speed for everyone else. Instead I am doing C for other projects.
50
51 1. https://github.com/Obsidian-StudiosInc/jem
52
53 P.S.
54 jem does need a bit more work to replace java-config entirely. Its
55 designed to not be Gentoo specific. There is little interest from
56 Gentoo, much less outside. Thus its more a case study than anything
57 benefiting anyone including myself. I will further it as I have
58 interest and time permits. Still have a few more defects to address.
59
60 --
61 William L. Thomson Jr.

Replies