From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-dev+bounces-64170-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	by finch.gentoo.org (Postfix) with ESMTP id 71ECE138247
	for <garchives@archives.gentoo.org>; Fri, 10 Jan 2014 00:28:16 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 3368BE0ABD;
	Fri, 10 Jan 2014 00:28:08 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 414A1E0A8B
	for <gentoo-dev@lists.gentoo.org>; Fri, 10 Jan 2014 00:28:07 +0000 (UTC)
Received: from [192.168.1.5] (unknown [114.91.186.16])
	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	(Authenticated sender: patrick)
	by smtp.gentoo.org (Postfix) with ESMTPSA id 1087633F68B
	for <gentoo-dev@lists.gentoo.org>; Fri, 10 Jan 2014 00:28:05 +0000 (UTC)
Message-ID: <52CF3F59.8010008@gentoo.org>
Date: Fri, 10 Jan 2014 08:31:21 +0800
From: Patrick Lauer <patrick@gentoo.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
MIME-Version: 1.0
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Portage QOS
References: <52ce4eab.463f700a.4b43.16bd@mx.google.com>	<CAAr7Pr9a_BRZji8LTJb7rE53ASgyA4nP2ysVGkr+5m5JRjnYDw@mail.gmail.com>	<52ce9994.24f5980a.0660.342e@mx.google.com>	<6345949.JsNcU8lWSX@cschwan-laptop>	<52cebfa2.aa78980a.7a02.42e5@mx.google.com> <86r48g8zdc.fsf@moguhome00.in.awa.tohoku.ac.jp>
In-Reply-To: <86r48g8zdc.fsf@moguhome00.in.awa.tohoku.ac.jp>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Archives-Salt: d7da44a5-dc09-4879-a2e2-084a43edfb00
X-Archives-Hash: 3718e1da272fe3ff9f83db09662ffbba

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++...

So, what you wanted to ask was:
"Which parts of pkgcore can be migrated into portage?"

> I guess the dep-tree calculation is the slowest part.
Yes, it's doing lots of silly dynamic things (backtracking), and portage
codebase
on average is not designed for speed.

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.