From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Nicolas Pitre" <nico@cam.org>
Cc: "Linus Torvalds" <torvalds@linux-foundation.org>,
"Jeff King" <peff@peff.net>,
"Daniel Berlin" <dberlin@dberlin.org>,
"Harvey Harrison" <harvey.harrison@gmail.com>,
"David Miller" <davem@davemloft.net>,
ismail@pardus.org.tr, gcc@gcc.gnu.org, git@vger.kernel.org
Subject: Re: Git and GCC
Date: Thu, 6 Dec 2007 16:39:02 -0500 [thread overview]
Message-ID: <9e4733910712061339n3aef023r22e5b73aac120c8a@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.0.99999.0712061403000.555@xanadu.home>
On 12/6/07, Nicolas Pitre <nico@cam.org> wrote:
> > When I lasted looked at the code, the problem was in evenly dividing
> > the work. I was using a four core machine and most of the time one
> > core would end up with 3-5x the work of the lightest loaded core.
> > Setting pack.threads up to 20 fixed the problem. With a high number of
> > threads I was able to get a 4hr pack to finished in something like
> > 1:15.
>
> But as far as I know you didn't try my latest incarnation which has been
> available in Git's master branch for a few months already.
I've deleted all my giant packs. Using the kernel pack:
4GB Q6600
Using the current thread pack code I get these results.
The interesting case is the last one. I set it to 15 threads and
monitored with 'top'.
For 0-60% compression I was at 300% CPU, 60-74% was 200% CPU and
74-100% was 100% CPU. It never used all for cores. The only other
things running were top and my desktop. This is the same load
balancing problem I observed earlier. Much more clock time was spent
in the 2/1 core phases than the 3 core one.
Threaded, threads = 5
jonsmirl@terra:/home/linux$ time git repack -a -d -f
Counting objects: 648366, done.
Compressing objects: 100% (647457/647457), done.
Writing objects: 100% (648366/648366), done.
Total 648366 (delta 528994), reused 0 (delta 0)
real 1m31.395s
user 2m59.239s
sys 0m3.048s
jonsmirl@terra:/home/linux$
12 seconds counting
53 seconds compressing
38 seconds writing
Without threads,
jonsmirl@terra:/home/linux$ time git repack -a -d -f
warning: no threads support, ignoring pack.threads
Counting objects: 648366, done.
Compressing objects: 100% (647457/647457), done.
Writing objects: 100% (648366/648366), done.
Total 648366 (delta 528999), reused 0 (delta 0)
real 2m54.849s
user 2m51.267s
sys 0m1.412s
jonsmirl@terra:/home/linux$
Threaded, threads = 5
jonsmirl@terra:/home/linux$ time git repack -a -d -f --depth=250 --window=250
Counting objects: 648366, done.
Compressing objects: 100% (647457/647457), done.
Writing objects: 100% (648366/648366), done.
Total 648366 (delta 539080), reused 0 (delta 0)
real 9m18.032s
user 19m7.484s
sys 0m3.880s
jonsmirl@terra:/home/linux$
jonsmirl@terra:/home/linux/.git/objects/pack$ ls -l
total 182156
-r--r--r-- 1 jonsmirl jonsmirl 15561848 2007-12-06 16:15
pack-f1f8637d2c68eb1c964ec7c1877196c0c7513412.idx
-r--r--r-- 1 jonsmirl jonsmirl 170768761 2007-12-06 16:15
pack-f1f8637d2c68eb1c964ec7c1877196c0c7513412.pack
jonsmirl@terra:/home/linux/.git/objects/pack$
Non-threaded:
jonsmirl@terra:/home/linux$ time git repack -a -d -f --depth=250 --window=250
warning: no threads support, ignoring pack.threads
Counting objects: 648366, done.
Compressing objects: 100% (647457/647457), done.
Writing objects: 100% (648366/648366), done.
Total 648366 (delta 539080), reused 0 (delta 0)
real 18m51.183s
user 18m46.538s
sys 0m1.604s
jonsmirl@terra:/home/linux$
jonsmirl@terra:/home/linux/.git/objects/pack$ ls -l
total 182156
-r--r--r-- 1 jonsmirl jonsmirl 15561848 2007-12-06 15:33
pack-f1f8637d2c68eb1c964ec7c1877196c0c7513412.idx
-r--r--r-- 1 jonsmirl jonsmirl 170768761 2007-12-06 15:33
pack-f1f8637d2c68eb1c964ec7c1877196c0c7513412.pack
jonsmirl@terra:/home/linux/.git/objects/pack$
Threaded, threads = 15
jonsmirl@terra:/home/linux$ time git repack -a -d -f --depth=250 --window=250
Counting objects: 648366, done.
Compressing objects: 100% (647457/647457), done.
Writing objects: 100% (648366/648366), done.
Total 648366 (delta 539080), reused 0 (delta 0)
real 9m18.325s
user 19m14.340s
sys 0m3.996s
jonsmirl@terra:/home/linux$
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2007-12-06 21:39 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4aca3dc20712051108s216d3331t8061ef45b9aa324a@mail.gmail.com>
2007-12-06 2:28 ` Git and GCC David Miller
2007-12-06 2:41 ` Daniel Berlin
2007-12-06 2:52 ` David Miller
2007-12-06 3:47 ` Daniel Berlin
2007-12-06 4:20 ` David Miller
2007-12-06 4:28 ` Harvey Harrison
2007-12-06 4:32 ` Daniel Berlin
2007-12-06 4:48 ` David Miller
2007-12-06 5:11 ` Daniel Berlin
2007-12-06 5:15 ` Harvey Harrison
2007-12-06 5:17 ` Daniel Berlin
2007-12-06 6:47 ` Jon Smirl
2007-12-06 7:15 ` Jeff King
2007-12-06 14:18 ` Nicolas Pitre
2007-12-06 17:39 ` Jeff King
2007-12-06 18:02 ` Nicolas Pitre
2007-12-07 6:50 ` Jeff King
2007-12-07 7:27 ` Jeff King
2007-12-06 18:35 ` Linus Torvalds
2007-12-06 18:55 ` Jon Smirl
2007-12-06 19:08 ` Nicolas Pitre
2007-12-06 21:39 ` Jon Smirl [this message]
2007-12-06 22:08 ` Nicolas Pitre
2007-12-06 22:11 ` Jon Smirl
2007-12-06 22:22 ` Jon Smirl
2007-12-06 22:30 ` Nicolas Pitre
2007-12-06 22:44 ` Jon Smirl
2007-12-07 7:31 ` Jeff King
2007-12-08 0:47 ` Harvey Harrison
2007-12-10 9:54 ` Gabriel Paubert
2007-12-10 15:35 ` Nicolas Pitre
2007-12-07 3:31 ` David Miller
2007-12-07 6:38 ` Jeff King
2007-12-07 7:10 ` Jon Smirl
2007-12-07 12:53 ` David Miller
2007-12-07 17:23 ` Linus Torvalds
2007-12-07 20:26 ` Giovanni Bajo
2007-12-07 22:14 ` Jakub Narebski
2007-12-07 23:04 ` Luke Lu
2007-12-07 23:14 ` Giovanni Bajo
2007-12-07 23:33 ` Daniel Berlin
2007-12-08 12:00 ` Johannes Schindelin
2007-12-08 1:55 ` David Miller
2007-12-10 9:57 ` David Miller
2007-12-06 6:09 ` Linus Torvalds
2007-12-06 7:49 ` Harvey Harrison
2007-12-06 8:11 ` David Brown
2007-12-06 14:01 ` Nicolas Pitre
2007-12-06 12:03 ` [PATCH] gc --aggressive: make it really aggressive Johannes Schindelin
2007-12-06 13:42 ` Theodore Tso
2007-12-06 14:15 ` Nicolas Pitre
2007-12-06 14:22 ` Pierre Habouzit
2007-12-06 15:55 ` Johannes Schindelin
2007-12-06 17:05 ` David Kastrup
2007-12-06 15:30 ` Harvey Harrison
2007-12-06 15:56 ` Johannes Schindelin
2007-12-06 16:19 ` Linus Torvalds
2009-03-18 16:01 ` Johannes Schindelin
2009-03-18 16:27 ` Teemu Likonen
2009-03-18 18:02 ` Nicolas Pitre
2007-12-06 18:04 ` Git and GCC Daniel Berlin
2007-12-06 18:29 ` Linus Torvalds
2007-12-07 2:42 ` Harvey Harrison
2007-12-07 3:01 ` Linus Torvalds
2007-12-07 4:06 ` Jon Smirl
2007-12-07 4:21 ` Nicolas Pitre
2007-12-07 5:21 ` Linus Torvalds
2007-12-07 7:08 ` Jon Smirl
2007-12-07 19:36 ` Nicolas Pitre
2007-12-06 18:24 ` NightStrike
2007-12-06 18:45 ` Linus Torvalds
2007-12-07 5:36 ` NightStrike
2007-12-06 19:12 ` Jon Loeliger
2007-12-06 19:39 ` Linus Torvalds
2007-12-07 0:29 ` Jakub Narebski
2007-12-06 20:04 ` Junio C Hamano
2007-12-06 21:02 ` Junio C Hamano
2007-12-06 22:26 ` David Kastrup
2007-12-06 22:38 ` [OT] " Randy Dunlap
2007-12-06 4:25 ` Harvey Harrison
2007-12-06 4:54 ` Linus Torvalds
2007-12-06 5:04 ` Harvey Harrison
2007-12-06 11:57 ` Johannes Schindelin
2007-12-06 12:04 ` Ismail Dönmez
[not found] ` <2007-12-05-21-23-14+trackit+sam@rfc1149.net>
[not found] ` <1196891451.10408.54.camel@brick>
[not found] ` <jeeje0ogvk.fsf@sykes.suse.de>
[not found] ` <1196897840.10408.57.camel@brick>
[not found] ` <38a0d8450712130640p1b5d74d6nfa124ad0b0110d64@mail.gmail.com>
[not found] ` <1197572755.898.15.camel@brick>
2007-12-17 22:15 ` "Argument list too long" in git remote update (Was: Git and GCC) Geert Bosch
2007-12-17 22:59 ` Johannes Schindelin
2007-12-17 23:01 ` Linus Torvalds
2007-12-18 1:34 ` Derek Fawcus
2007-12-18 1:52 ` Shawn O. Pearce
2007-12-08 2:21 Git and GCC J.C. Pizarro
2007-12-08 12:24 ` Johannes Schindelin
2007-12-08 19:53 ` Joe Buck
2007-12-08 20:28 ` Marco Costalba
2007-12-09 1:51 ` Daniel Berlin
2007-12-15 0:18 ` Nix
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=9e4733910712061339n3aef023r22e5b73aac120c8a@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=davem@davemloft.net \
--cc=dberlin@dberlin.org \
--cc=gcc@gcc.gnu.org \
--cc=git@vger.kernel.org \
--cc=harvey.harrison@gmail.com \
--cc=ismail@pardus.org.tr \
--cc=nico@cam.org \
--cc=peff@peff.net \
--cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).