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