From: Patrick McLean <chutzpah@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: TomWij@gentoo.org, patrick@gentoo.org
Subject: Re: [gentoo-dev] Portage QOS
Date: Thu, 9 Jan 2014 17:52:16 -0800 [thread overview]
Message-ID: <20140109175216.5c558257@gentoo.org> (raw)
In-Reply-To: <20140110021903.22d9a77b@TOMWIJ-GENTOO>
On Fri, 10 Jan 2014 02:19:03 +0100
Tom Wijsman <TomWij@gentoo.org> wrote:
> On Fri, 10 Jan 2014 08:31:21 +0800
> Patrick Lauer <patrick@gentoo.org> wrote:
>
> > On 01/10/2014 08:16 AM, heroxbd@gentoo.org wrote:
> > > Igor <lanthruster@gmail.com> writes:
> > >
> > >> The ebuilds have approximately the same time to install, the
> > >> failure rate is about the same, emerge is getting slower.
> > >
> > > I am curious about the slowness of emerge.
> > >
> > > How about profile the portage and rewrite the time-crucial part in
> > > C/C++, or ideally, borrowing the counterpart from paludis? How
> > > feasible is that?
> >
> > Last I checked paludis wasn't faster - on average portage was a few
> > percents faster.
>
> > For python things you really want python or C instead of C++...
>
> Why is this a Python thing? What's the reason to exclude a language?
>
> > So, what you wanted to ask was:
> > "Which parts of pkgcore can be migrated into portage?"
>
> Or rather: "What does it take to migrate parts of pkgcore into
> portage?"
Why not just switch to using pkgcore as the default package manager.
radhermit has been doing a lot of work lately getting EAPI 5 support
added, and generally fixing bugs etc.
Since we no longer have anyone intimately familiar with the
portage code, we should just switch to a more modern and readable
system. Rather than having random people trying to learn the convoluted
portage code, let's concentrate on getting pkgcore to a point where
we can replace portage with it.
> > > I guess the dep-tree calculation is the slowest part.
> > Yes, it's doing lots of silly dynamic things (backtracking),
>
> Exactly, without backtracking (which I can live without) it takes
> around half a minute as compared to a lot of minutes; when it started
> to take almost half an hour it was time to completely nuke
> backtracking.
>
> Now I happily live without ever needing to enable backtracking
> again. :)
>
> > and portage codebase on average is not designed for speed.
>
> Yes, inspecting the profiler results has me worried; though I find
> half a minute acceptable for the amount of packages that are involved
> on my system, so, I'm less concerned but it is still interesting that
> there is the possibility to do things faster. It's just some work to
> actually get it to do that, which requires much more dedication, time
> and knowledge than doing an occasional commit.
>
> > As a first step I would recommend profiling it and removing unneeded
> > stuff (do less work!), rewriting parts in C is a lot of work and not
> > needed for the first round of speedups.
>
> See my other mail <20140110020218.0f6244d5@TOMWIJ-GENTOO> for recent
> profiling images; we should indeed start with dealing with the low
> hanging fruit (there are quite some 0-2% speed improvements possible),
> as that can get us to speed it up faster than trying to deal with some
> algorithmic complexity that needs far more insight to redesign, let
> alone to properly re-implement it.
>
next prev parent reply other threads:[~2014-01-10 1:52 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-09 7:24 [gentoo-dev] Portage QOS LTHR
2014-01-09 8:12 ` Alec Warner
2014-01-09 12:44 ` Igor
2014-01-09 14:12 ` Christopher Schwan
2014-01-09 15:26 ` Igor
2014-01-09 15:55 ` Jeroen Roovers
2014-01-09 16:37 ` Igor
2014-01-10 0:27 ` heroxbd
2014-01-10 12:41 ` Igor
2014-01-10 13:51 ` Rich Freeman
2014-01-10 0:16 ` heroxbd
2014-01-10 0:31 ` Patrick Lauer
2014-01-10 1:19 ` Tom Wijsman
2014-01-10 1:52 ` Patrick McLean [this message]
2014-01-10 2:40 ` Tom Wijsman
2014-01-10 6:17 ` Brian Dolbec
2014-01-10 18:14 ` Ciaran McCreesh
2014-01-10 7:54 ` heroxbd
2014-01-10 18:11 ` Ciaran McCreesh
2014-01-11 3:57 ` Patrick Lauer
2014-01-10 1:02 ` Tom Wijsman
2014-01-10 9:10 ` heroxbd
2014-01-10 14:54 ` Tom Wijsman
2014-01-10 12:23 ` Igor
2014-01-10 12:30 ` René Neumann
2014-01-10 12:30 ` Igor
2014-01-10 12:39 ` Patrick Lauer
2014-01-10 13:05 ` Igor
2014-01-10 13:18 ` René Neumann
2014-01-10 18:19 ` Ciaran McCreesh
2014-01-10 19:06 ` René Neumann
2014-01-10 14:05 ` heroxbd
2014-01-12 10:47 ` [gentoo-dev] " Steven J. Long
2014-01-10 13:10 ` [gentoo-dev] " Igor
2014-01-10 14:02 ` Rich Freeman
2014-01-10 15:16 ` Tom Wijsman
2014-01-10 18:12 ` Ciaran McCreesh
2014-01-09 15:49 ` Ben Kohler
2014-01-09 16:11 ` Igor
2014-01-09 17:59 ` [gentoo-dev] " Duncan
2014-01-09 20:42 ` Igor
2014-01-09 21:08 ` Chris Reffett
2014-01-10 12:10 ` Igor
2014-01-10 12:26 ` René Neumann
2014-01-10 12:52 ` Igor
2014-01-10 12:57 ` René Neumann
2014-01-10 15:39 ` Tom Wijsman
2014-01-10 16:36 ` Mike Frysinger
2014-01-10 18:17 ` Greg KH
2014-01-10 19:38 ` Duncan
2014-01-10 22:36 ` heroxbd
2014-01-11 1:28 ` Duncan
2014-01-09 19:35 ` [gentoo-dev] " yac
2014-01-11 15:00 ` Naohiro Aota
2014-01-12 10:28 ` Igor
2014-01-12 19:31 ` Igor
2014-01-12 19:31 ` Igor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140109175216.5c558257@gentoo.org \
--to=chutzpah@gentoo.org \
--cc=TomWij@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
--cc=patrick@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox