Gentoo Archives: gentoo-dev

From: Paul Arthur <flowerysong00@×××××.com>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: proxy maintainership and gentoo-x86 scm
Date: Fri, 15 Jan 2010 00:11:14
Message-Id: slrnhkvcd5.623.flowerysong00@shasta.marwnad.com
In Reply to: Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm by Nirbheek Chauhan
1 On 2010-01-14, Nirbheek Chauhan <nirbheek@g.o> wrote:
2 > On Wed, Jan 13, 2010 at 9:24 PM, Mike Frysinger <vapier@g.o> wrote:
3 >> i think our current work flows also significantly impede the smooth running of
4 >> this.  if we had were using a dscm (git) on gentoo-x86, i feel like it'd be a
5 >> much smoother ride for Gentoo devs to pull from a proxy maintainer and push on
6 >> their behalf.
7 >
8 > In theory, yes. In practice, git is too slow to handle 30,000 files.
9 > Even simple operations like git add become painful even if you put the
10 > whole of portage on tmpfs since git does a stat() on every single file
11 > in the repository with every operation.
12 >
13 > Simple test: do a git init followed by git add && git commit -m
14 > "Initial commit" in your portage dir (.gitignore packages/ and
15 > distfiles/)
16 >
17 > Once this is done, you can test how it'll feel like to use a DSCM on
18 > portage (without history). Unless you have a really fast SSD and
19 > processor, you'll want to go back to the good old days of CVS with its
20 > network-bound latencies on just 5-6 files in the current dir.
21
22 Ouch. I wanted to test this in a fairly bad scenario, so I gave it a
23 try on my old, low-spec fileserver.
24
25 aravis-root /usr/portage # time git add .
26 real 19m1.333s
27 user 0m53.230s
28 sys 1m9.350s
29
30 aravis-root /usr/portage # time git commit -m "Initial commit"
31 real 19m44.700s
32 user 0m23.740s
33 sys 0m49.320s
34
35 Then, with no changes whatsoever:
36 aravis-root /usr/portage # time git status
37 real 4m26.454s
38 user 0m2.090ssys 0m6.380s
39
40 Finally, a ray of hope:
41 aravis-root /usr/portage/app-emulation # time git add xen-tools-gdbserver/
42 real 0m0.978s
43 user 0m0.400s
44 sys 0m0.180s
45
46 But no:
47 aravis-root /usr/portage/app-emulation # time git commit -m "Commit 2"
48 real 3m18.502s
49 user 0m1.830s
50 sys 0m7.530s
51
52 Now, this is fairly close to a worst-case scenario, being an old
53 computer with a slow drive. A new computer with faster drives (in
54 RAID 1+0) is much more reasonable.
55
56 lasaraleen portage # time git add .
57 real 0m26.002s
58 user 0m6.256s
59 sys 0m6.572s
60
61 lasaraleen portage # time git commit -m "Initial commit"
62 real 0m27.371s
63 user 0m3.704s
64 sys 0m3.856s
65
66 lasaraleen app-emulation # time git commit -m "Commit 2"
67 real 0m1.374s
68 user 0m0.468s
69 sys 0m0.904s
70
71
72 --
73 Having to infer what Unix is solely from a copy of the GNU Manifesto is
74 not really an exercise you want to undertake.
75 --AdB

Replies

Subject Author
Re: [gentoo-dev] Re: proxy maintainership and gentoo-x86 scm "Robin H. Johnson" <robbat2@g.o>
Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm Max Arnold <lwarxx@×××××.com>