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: Tue, 11 Jul 2017 01:29:40
Message-Id: assp.03659f4af6.20170710212928.0a9e81d4@o-sinc.com
In Reply to: Re: [gentoo-dev] Native vs Scripting language for portage speed concerns was -> Sets vs Meta ebuilds by R0b0t1
1 On Mon, 10 Jul 2017 20:12:28 -0500
2 R0b0t1 <r030t1@×××××.com> wrote:
3
4 > On Mon, Jul 10, 2017 at 6:56 PM, William L. Thomson Jr.
5 > <wlt-ml@××××××.com> wrote:
6 >>
7 > > IMHO anyone complaining about time taking for dependency resolution
8 > > etc. They should spend THEIR time writing stuff in a real native
9 > > language for speed.
10 > >
11 > > The difference I see with jem[1] vs java-config, is ridiculous.
12 ....
13 > > If aspects of portage were done in C or C++, or maybe even Go. There
14 > > would be substantial performance improvements. The existing python
15 > > code can remain. Python can load and call functions from C/C++ DSO.
16 > > And vice versa, calling Python code from C/C++. I would say C vs
17 > > C++ but that is up to others.
18 > >
19 >
20 > https://wiki.gentoo.org/wiki/Q_applets
21 >
22 > What you're suggesting is actually really hard, and the root of the
23 > problems tend to be graph traversals and path searches (for
24 > dependencies) not so much miscellaneous milliseconds spent in
25 > interpreter overhead.
26
27 I am aware in a way. Depends on how implemented. This has to hit
28 package.env files. But what you see below comes from a dependency list.
29 I have packages with even more deps.
30
31 jem --help
32
33 Package Options:
34 -d, --with-dependencies Include package dependencies in
35 --classpath and --library calls
36 -p, --classpath=PACKAGE(s) Print entries in the environment classpath
37 for these packages
38
39 jem -d -p eclipse-jdt-core-4.6
40 /usr/share/ant-core/lib/ant.jar:/usr/share/ant-core/lib/ant-bootstrap.jar:/usr/share/ant-core/lib/ant-launcher.jar:/usr/share/eclipse-core-contenttype-4.6/lib/eclipse-core-contenttype.jar:/usr/share/eclipse-core-filesystem-4.6/lib/eclipse-core-filesystem.jar:/usr/share/eclipse-core-jobs-4.6/lib/eclipse-core-jobs.jar:/usr/share/eclipse-core-resources-4.6/lib/eclipse-core-resources.jar:/usr/share/eclipse-core-runtime-4.6/lib/eclipse-core-runtime.jar:/usr/share/eclipse-equinox-app-4.6/lib/eclipse-equinox-app.jar:/usr/share/eclipse-equinox-common-4.6/lib/eclipse-equinox-common.jar:/usr/share/eclipse-equinox-preferences-4.6/lib/eclipse-equinox-preferences.jar:/usr/share/eclipse-equinox-registry-4.6/lib/eclipse-equinox-registry.jar:/usr/share/eclipse-osgi-4.6/lib/eclipse-osgi.jar:/usr/share/eclipse-text-4.6/lib/eclipse-text.jar:/usr/share/osgi-core-api-6/lib/osgi-core-api.jar:/usr/share/eclipse-core-expressions-4.6/lib/eclipse-core-expressions.jar:/usr/share/osgi-compendium-6/lib/osgi-compendium.jar:/usr/share/eclipse-osgi-services-4.6/lib/eclipse-osgi-services.jar:/usr/share/osgi-annotation/lib/osgi-annotation.jar:/usr/share/felix-resolver/lib/felix-resolver.jar:/usr/share/eclipse-core-commands-4.6/lib/eclipse-core-commands.jar:/usr/share/icu4j-59/lib/icu4j.jar:/usr/share/glassfish-persistence/lib/glassfish-persistence.jar:/usr/share/osgi-foundation/lib/org.osgi.foundation.jar:/usr/share/tomcat-servlet-api-4.0/lib/el-api.jar:/usr/share/tomcat-servlet-api-4.0/lib/jsp-api.jar:/usr/share/tomcat-servlet-api-4.0/lib/servlet-api.jar:/usr/share/eclipse-jdt-core-4.6/lib/eclipse-jdt-core.jar
41
42 jem
43 real 0m0.004s
44 user 0m0.000s
45 sys 0m0.005s
46
47 java-config
48 real 0m0.075s
49 user 0m0.057s
50 sys 0m0.017s
51
52 On further runs of java-config
53 real 0m0.121s
54 user 0m0.105s
55 sys 0m0.017s
56
57 jem never exceeds 0m0.005s for any real, user, or sys
58
59 > Then again, I suppose there will be people on computers slow enough
60 > where the latter does make a difference.
61
62 arm? Laptops? Even if not speed, resources. But when its used for many
63 packages called over and over. It can start to add up little by little.
64 We can all use more time.
65
66 --
67 William L. Thomson Jr.

Replies