Gentoo Archives: gentoo-dev

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

Replies

Subject Author
Re: [gentoo-dev] Native vs Scripting language for portage speed concerns was -> Sets vs Meta ebuilds Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>