From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-dev+bounces-39128-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1NVY4f-0008WD-W0
	for garchives@archives.gentoo.org; Thu, 14 Jan 2010 22:21:54 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id ADD75E0BB3;
	Thu, 14 Jan 2010 22:21:32 +0000 (UTC)
Received: from mail-px0-f174.google.com (mail-px0-f174.google.com [209.85.216.174])
	by pigeon.gentoo.org (Postfix) with ESMTP id 770B7E0BB3
	for <gentoo-dev@lists.gentoo.org>; Thu, 14 Jan 2010 22:21:32 +0000 (UTC)
Received: by pxi4 with SMTP id 4so25460pxi.32
        for <gentoo-dev@lists.gentoo.org>; Thu, 14 Jan 2010 14:21:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:mime-version:sender:received:in-reply-to
         :references:date:x-google-sender-auth:message-id:subject:from:to
         :content-type;
        bh=pxiFgPG1BaKwzG2ZtZs1aOuHu/i/HBksTC2gHzTmQBA=;
        b=WcqNPqOZ82YWbM+OeVGYAzo73ML135GvITuN2JFSEFdKvFu9C1aaTlyMaICsu2nHUp
         TLKdsyu2Wx64Xur65K1PPBu6Ux8Mzvc1j0+xwEYjmc4lyggYtmIs2CbBPfG7QoJOfAja
         n6SABRZJ/GPj9dK+6hTv9eGgI4DT7siVZ7NSY=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=mime-version:sender:in-reply-to:references:date
         :x-google-sender-auth:message-id:subject:from:to:content-type;
        b=aTrU30VG6yPe5IpQKuIesWTQadw8gEGgFhdAdPjmN+x+Y0zg6PCWpBWlltm15pFbkQ
         bu+TQ0JBCpobDZcnP4IBfpJ3OmLbQ01HazzW1jKvEIUqux0edH0WVgIq4vrwQuXyVO+q
         LWRJ51w45gR1krCXyJ5peESh3QGmi1MjsdWeM=
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
Sender: nirbheek.chauhan@gmail.com
Received: by 10.115.117.5 with SMTP id u5mr967216wam.111.1263507691969; Thu, 
	14 Jan 2010 14:21:31 -0800 (PST)
In-Reply-To: <4B4F7F1B.4080902@the-cell.co.uk>
References: <201001112305.16532.hwoarang@gentoo.org>
	 <201001122149.11091.hwoarang@gentoo.org>
	 <e117dbb91001121235m1a6b99acj4cefccd2b5de2a35@mail.gmail.com>
	 <201001131054.03953.vapier@gentoo.org>
	 <8b4c83ad1001140449k49995e0ra01eeca16167735a@mail.gmail.com>
	 <4B4F7F1B.4080902@the-cell.co.uk>
Date: Fri, 15 Jan 2010 03:51:31 +0530
X-Google-Sender-Auth: c0c90a639f702027
Message-ID: <8b4c83ad1001141421y22e416b8q4e5e4c9d47f4821f@mail.gmail.com>
Subject: Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm
From: Nirbheek Chauhan <nirbheek@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Content-Type: text/plain; charset=UTF-8
X-Archives-Salt: 54f7e465-e932-49f9-af0e-c15d1b32c8b8
X-Archives-Hash: 3fa1690fff35d58eddc7fae02dff4eae

On Fri, Jan 15, 2010 at 2:01 AM, Daniel Bradshaw <daniel@the-cell.co.uk> wrote:
> On 01/14/2010 12:49 PM, Nirbheek Chauhan wrote:
>>
>> In theory, yes. In practice, git is too slow to handle 30,000 files.
>> Even simple operations like git add become painful even if you put the
>> whole of portage on tmpfs since git does a stat() on every single file
>> in the repository with every operation.
>>
>
> My understanding is that git was developed as the SCM for the kernel
> project.
> A quick check in an arbitary untouched kernel in /usr/src/ suggests a file
> [1] count of 25300.
>
> Assuming that my figure isn't out by an order of magnitude, how does the
> kernel team get along with git and 25k files but it is deathly slow for our
> 30k?
> Or, to phrase the question better... what are they doing that allows them to
> manage?
>

My bad. I did the tests a while back, and the number "30,000" is
actually for the no. of ebuilds in portage. The no. of files is
actually ~113,000 (difference comes because every package has a
manifest+changelog+metadata.xml+patches). OTOH, the no. of directories
is "just" ~20,000, so  if git would only do a stat() on directories,
it would get into the "usable" circle.

Also, since git does a stat on directories as well as files, you can
say that every command has to do ~133,000 stats, which is damn slow
even when cached.

-- 
~Nirbheek Chauhan

Gentoo GNOME+Mozilla Team