public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-portage-dev] Next steps to get rid of backtracking
@ 2014-02-27 19:08 Sebastian Luther
  2014-02-27 19:08 ` [gentoo-portage-dev] [PATCH] Introduce depgraph._extend_slot_operator_conflicts Sebastian Luther
  0 siblings, 1 reply; 3+ messages in thread
From: Sebastian Luther @ 2014-02-27 19:08 UTC (permalink / raw
  To: gentoo-portage-dev

Hi all,

this is the next step into getting rid of backtracking. This patch adds
a new function that allows _solve_non_slot_operator_slot_conflicts from
the last patch series to solve conflicts caused by built slot operator
dependencies. It does this by pulling in alternative packages for the
parents of the conflict packages.

As always pyflakes, pylint and the tests don't show any error.

You may find this patch in my github repo [1].

Here are some numbers for -uDN world.

Before the first patch series:
	* 11 slot conflicts
	* 5 backtracking steps and fails

Current master:
	* no conflicts
	* 7 backtracking step and succeeds

This patch:
	* no conflicts
	* no backtracking required

Some times on my system (core2 2 GHz, 4 GB RAM) with hot file system caches.

Current master:
	9:28

Current master with -backtrack=0 (fails to find a solution):
	1:38

This patch:
	1:58


As you can see by comparing with the --backtrack=0 case, the new conflict
solving abilities cost some time (+18%). This is to be expected as it now
has to resolve the dependencies of more packages.

Compared to the normal case this is a decrease by 79%.

Note that if your system doesn't have any conflict, there shouldn't be any
increase in run time.


[1] https://github.com/few/fews-portage-branch/tree/no-backtracking-for-rebuilds




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-04-05  6:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-27 19:08 [gentoo-portage-dev] Next steps to get rid of backtracking Sebastian Luther
2014-02-27 19:08 ` [gentoo-portage-dev] [PATCH] Introduce depgraph._extend_slot_operator_conflicts Sebastian Luther
2014-04-05  6:16   ` Sergei Trofimovich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox