public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Git and GCC
@ 2007-12-05 19:08 Daniel Berlin
  2007-12-05 19:11 ` Daniel Berlin
                   ` (5 more replies)
  0 siblings, 6 replies; 112+ messages in thread
From: Daniel Berlin @ 2007-12-05 19:08 UTC (permalink / raw)
  To: Ismail Dönmez; +Cc: gcc

So I tried a full history conversion using git-svn of the gcc
repository (IE every trunk revision from 1-HEAD as of yesterday)
The git-svn import was done using repacks every 1000 revisions.
After it finished, I used git-gc --aggressive --prune.  Two hours
later, it finished.
The final size after this is 1.5 gig for all of the history of gcc for
just trunk.

dberlin@home:/compilerstuff/gitgcc/gccrepo/.git/objects/pack$ ls -trl
total 1568899
-r--r--r-- 1 dberlin dberlin 1585972834 2007-12-05 14:01
pack-cd328fcf0bd673d8f2f72c42fbe67da64cbcd218.pack
-r--r--r-- 1 dberlin dberlin   19008488 2007-12-05 14:01
pack-cd328fcf0bd673d8f2f72c42fbe67da64cbcd218.idx

This is 3x bigger than hg *and* hg doesn't require me to waste my life
repacking every so often.
The hg operations run roughly as fast as the git ones

I'm sure there are magic options, magic command lines, etc, i could
use to make it smaller.

I'm sure if i spent the next few weeks fucking around with git, it may
even be usable!

But given that git is harder to use, requires manual repacking to get
any kind of sane space usage, and is 3x bigger anyway, i don't see any
advantage to continuing to experiment with git and gcc.

I already have two way sync with hg.
Maybe someday when git is more usable than hg to a normal developer,
or it at least is significantly smaller than hg, i'll look at it
again.
For now, it seems a net loss.

--Dan
>
> git clone --depth 100 git://git.infradead.org/gcc.git
>
> should give around ~50mb repository with usable trunk. This is all thanks to
> Bernardo Innocenti for setting up an up-to-date gcc git repo.
>
> P.S:Please cut down on the usage of exclamation mark.
>
> Regards,
> ismail
>
> --
> Never learn by your mistakes, if you do you may never dare to try again.
>

^ permalink raw reply	[flat|nested] 112+ messages in thread
* Re: Git and GCC
@ 2007-12-05 22:51 J.C. Pizarro
  0 siblings, 0 replies; 112+ messages in thread
From: J.C. Pizarro @ 2007-12-05 22:51 UTC (permalink / raw)
  To: gcc, Daniel Berlin

On 12/5/07, Daniel Berlin <dberlin@dberlin.org> wrote:
> So I tried a full history conversion using git-svn of the gcc
> repository (IE every trunk revision from 1-HEAD as of yesterday)
> The git-svn import was done using repacks every 1000 revisions.
> After it finished, I used git-gc --aggressive --prune.  Two hours
> later, it finished.
> The final size after this is 1.5 gig for all of the history of gcc for
> just trunk.
>
> dberlin@home:/compilerstuff/gitgcc/gccrepo/.git/objects/pack$ ls -trl
> total 1568899
> -r--r--r-- 1 dberlin dberlin 1585972834 2007-12-05 14:01
> pack-cd328fcf0bd673d8f2f72c42fbe67da64cbcd218.pack
> -r--r--r-- 1 dberlin dberlin   19008488 2007-12-05 14:01
> pack-cd328fcf0bd673d8f2f72c42fbe67da64cbcd218.idx
>
> This is 3x bigger than hg *and* hg doesn't require me to waste my life
> repacking every so often.
> The hg operations run roughly as fast as the git ones
>
> I'm sure there are magic options, magic command lines, etc, i could
> use to make it smaller.
>
> I'm sure if i spent the next few weeks fucking around with git, it may
> even be usable!
>
> But given that git is harder to use, requires manual repacking to get
> any kind of sane space usage, and is 3x bigger anyway, i don't see any
> advantage to continuing to experiment with git and gcc.
>
> I already have two way sync with hg.
> Maybe someday when git is more usable than hg to a normal developer,
> or it at least is significantly smaller than hg, i'll look at it
> again.
> For now, it seems a net loss.
>
> --Dan
> >
> > git clone --depth 100 git://git.infradead.org/gcc.git
> >
> > should give around ~50mb repository with usable trunk. This is all thanks to
> > Bernardo Innocenti for setting up an up-to-date gcc git repo.
> >
> > P.S:Please cut down on the usage of exclamation mark.
> >
> > Regards,
> > ismail
> >
> > --
> > Never learn by your mistakes, if you do you may never dare to try again.
> >

To see "Re: svn trunk reaches nearly 1 GiB!!! That massive!!!"

http://gcc.gnu.org/ml/gcc/2007-11/msg00805.html
http://gcc.gnu.org/ml/gcc/2007-11/msg00770.html
http://gcc.gnu.org/ml/gcc/2007-11/msg00769.html
http://gcc.gnu.org/ml/gcc/2007-11/msg00768.html
http://gcc.gnu.org/ml/gcc/2007-11/msg00767.html

On 12/5/07, Daniel Berlin <dberlin@dberlin.org> wrote:
> So I tried a full history conversion using git-svn of the gcc
> repository (IE every trunk revision from 1-HEAD as of yesterday)
> The git-svn import was done using repacks every 1000 revisions.
> After it finished, I used git-gc --aggressive --prune.  Two hours
> later, it finished.
> The final size after this is 1.5 gig for all of the history of gcc for
> just trunk.
>
> dberlin@home:/compilerstuff/gitgcc/gccrepo/.git/objects/pack$ ls -trl
> total 1568899
> -r--r--r-- 1 dberlin dberlin 1585972834 2007-12-05 14:01
> pack-cd328fcf0bd673d8f2f72c42fbe67da64cbcd218.pack
> -r--r--r-- 1 dberlin dberlin   19008488 2007-12-05 14:01
> pack-cd328fcf0bd673d8f2f72c42fbe67da64cbcd218.idx
>
> This is 3x bigger than hg *and* hg doesn't require me to waste my life
> repacking every so often.
> The hg operations run roughly as fast as the git ones
>
> I'm sure there are magic options, magic command lines, etc, i could
> use to make it smaller.
>
> I'm sure if i spent the next few weeks fucking around with git, it may
> even be usable!
>
> But given that git is harder to use, requires manual repacking to get
> any kind of sane space usage, and is 3x bigger anyway, i don't see any
> advantage to continuing to experiment with git and gcc.
>
> I already have two way sync with hg.
> Maybe someday when git is more usable than hg to a normal developer,
> or it at least is significantly smaller than hg, i'll look at it
> again.
> For now, it seems a net loss.
>
> --Dan
> >
> > git clone --depth 100 git://git.infradead.org/gcc.git
> >
> > should give around ~50mb repository with usable trunk. This is all thanks to
> > Bernardo Innocenti for setting up an up-to-date gcc git repo.
> >
> > P.S:Please cut down on the usage of exclamation mark.
> >
> > Regards,
> > ismail
> >
> > --
> > Never learn by your mistakes, if you do you may never dare to try again.
> >

To see "Re: svn trunk reaches nearly 1 GiB!!! That massive!!!"

http://gcc.gnu.org/ml/gcc/2007-11/msg00805.html
http://gcc.gnu.org/ml/gcc/2007-11/msg00770.html
http://gcc.gnu.org/ml/gcc/2007-11/msg00769.html
http://gcc.gnu.org/ml/gcc/2007-11/msg00768.html
http://gcc.gnu.org/ml/gcc/2007-11/msg00767.html

* In http://gcc.gnu.org/ml/gcc/2007-11/msg00675.html , i did put

The generated files from flex/bison are a lot of "trashing hexadecimals" that
don't must to be commited to any cvs/svn/git/hg because it consumes
a lot of diskspace for only a modification of few lines of flex/bison sources.

* In http://gcc.gnu.org/ml/gcc/2007-11/msg00683.html , i did put

I hate considering temporary files as sources of the tree. They aren't sources.

It's good idea to remove ALL generated files from sources:

A) generated *.c, *.h from lex/bison sources *.l/*.y
B) generated not-handwritten configure, makefile, aclocal.m4, config.h.in,
     makefile.in from the configure.ac and makefile.am sources.
      [the handwritten configure and makefile have to be rewritten to *.ac/*.am]
C) generated binary objects *.class, *.o, *.a, *.so, ...
D) generated *.c, *.h, *.cpp, *.hpp,  ... from *.java
E) any generated from any available source by available tool.

The only exception is when the project need a bootstrapping system.

See to understand http://en.wikipedia.org/wiki/GNU_build_system easy!

So, the cvs/svn/git/hg repositories of sources will be "small and clean"
without "trashing generated files, hexadecimals, ..."

This recommendation is an advantage to navigate by web to clean
cvs/svn/git/hg repositories. In another case, it's an inconvenient.

   J.C.Pizarro

^ permalink raw reply	[flat|nested] 112+ messages in thread
* Re: Git and GCC
@ 2007-12-08  3:51 J.C. Pizarro
  2007-12-08 15:06 ` Johannes Schindelin
  0 siblings, 1 reply; 112+ messages in thread
From: J.C. Pizarro @ 2007-12-08  3:51 UTC (permalink / raw)
  To: Linus Torvalds, David Miller, gcc, git

On 2007/12/07, "Linus Torvalds" <torvalds@linux-foundation.org> wrote:
> On Fri, 7 Dec 2007, David Miller wrote:
> >
> > Also I could end up being performance limited by SHA, it's not very
> > well tuned on Sparc.  It's been on my TODO list to code up the crypto
> > unit support for Niagara-2 in the kernel, then work with Herbert Xu on
> > the userland interfaces to take advantage of that in things like
> > libssl.  Even a better C/asm version would probably improve GIT
> > performance a bit.
>
> I doubt yu can use the hardware support. Kernel-only hw support is
> inherently broken for any sane user-space usage, the setup costs are just
> way way too high. To be useful, crypto engines need to support direct user
> space access (ie a regular instruction, with all state being held in
> normal registers that get saved/restored by the kernel).
>
> > Is SHA a significant portion of the compute during these repacks?
> > I should run oprofile...
>
> SHA1 is almost totally insignificant on x86. It hardly shows up. But we
> have a good optimized version there.

If SHA1 is slow then why dont he contribute adding Haval160 (3 rounds)
that it's faster than SHA1? And to optimize still more it with SIMD instructions
in kernelspace and userland.

>
> zlib tends to be a lot more noticeable (especially the uncompression: it
> may be faster than compression, but it's done _so_ much more that it
> totally dominates).
>
> 			Linus

It's better

1.   "Don't compress this repo but compact this uncompressed repo
      using minimal spanning forest and deltas"
2.   "After, compress this whole repo with LZMA (e.g. 48MiB) from 7zip before
      burning it to DVD for backup reasons or before replicating it to
internet".

   J.C.Pizarro "the noiser"

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

end of thread, other threads:[~2007-12-15  0:18 UTC | newest]

Thread overview: 112+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-05 19:08 Git and GCC Daniel Berlin
2007-12-05 19:11 ` Daniel Berlin
2007-12-05 19:13 ` NightStrike
2007-12-05 19:16   ` Daniel Berlin
2007-12-05 19:36 ` Ismail Dönmez
2007-12-05 19:36 ` Ollie Wild
2007-12-05 21:40   ` Daniel Berlin
2007-12-06  0:01     ` Ollie Wild
2007-12-05 20:23 ` Samuel Tardieu
2007-12-05 21:48   ` Daniel Berlin
2007-12-05 21:56     ` NightStrike
2007-12-06 18:15       ` Ian Lance Taylor
2007-12-06 19:29         ` Vincent Lefevre
2007-12-06 19:31           ` Ismail Dönmez
2007-12-06 20:35           ` Andrey Belevantsev
2007-12-06 20:43             ` Daniel Berlin
2007-12-05 21:50   ` Harvey Harrison
2007-12-05 23:34     ` Andreas Schwab
2007-12-05 23:37       ` Harvey Harrison
2007-12-13 16:30         ` Rafael Espindola
2007-12-13 20:31           ` Harvey Harrison
2007-12-06  2:28 ` 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:33           ` 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:48                     ` 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:03                             ` Nicolas Pitre
2007-12-07  6:50                               ` Jeff King
2007-12-07  7:27                                 ` Jeff King
2007-12-06 18:36                             ` Linus Torvalds
2007-12-06 18:56                               ` Jon Smirl
2007-12-06 19:08                                 ` Nicolas Pitre
2007-12-06 21:39                                   ` Jon Smirl
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  1:49                               ` Harvey Harrison
2007-12-10  9:57                                 ` Gabriel Paubert
2007-12-10 16:09                                   ` Nicolas Pitre
2007-12-07  3:31                             ` David Miller
2007-12-07  6:39                               ` Jeff King
2007-12-07  7:11                                 ` Jon Smirl
2007-12-07 12:53                                   ` David Miller
2007-12-07 17:24                                     ` Linus Torvalds
2007-12-07 20:27                                       ` Giovanni Bajo
2007-12-07 20:49                                         ` Giovanni Bajo
2007-12-07 22:33                                         ` Jakub Narebski
2007-12-07 23:14                                           ` Luke Lu
2007-12-07 23:33                                           ` Giovanni Bajo
2007-12-08  0:47                                             ` Daniel Berlin
2007-12-08 12:24                                               ` Johannes Schindelin
2007-12-08  2:21                                       ` David Miller
2007-12-10 10:15                                     ` David Miller
2007-12-06  6:09                 ` Linus Torvalds
2007-12-06  7:49                   ` Harvey Harrison
2007-12-06  8:12                     ` David Brown
2007-12-06 14:02                     ` Nicolas Pitre
2007-12-06 12:04                   ` [PATCH] gc --aggressive: make it really aggressive Johannes Schindelin
2007-12-06 13:43                     ` Theodore Tso
2007-12-06 14:15                       ` Nicolas Pitre
2007-12-06 14:23                     ` Pierre Habouzit
2007-12-06 15:56                       ` Johannes Schindelin
2007-12-06 17:08                         ` David Kastrup
2007-12-06 15:31                     ` Harvey Harrison
2007-12-06 15:56                       ` Johannes Schindelin
2007-12-06 16:19                       ` Linus Torvalds
2007-12-06 18:05                   ` Git and GCC Daniel Berlin
2007-12-06 18:29                     ` Linus Torvalds
2007-12-07  2:42                     ` Harvey Harrison
2007-12-07 15:01                       ` Linus Torvalds
2007-12-07 15:01                         ` Jon Smirl
2007-12-07  4:21                           ` Nicolas Pitre
2007-12-07  5:22                           ` 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:46                     ` Linus Torvalds
2007-12-07  5:37                       ` NightStrike
2007-12-06 19:13                   ` Jon Loeliger
2007-12-06 19:40                     ` Linus Torvalds
2007-12-07  0:30                       ` Jakub Narebski
2007-12-06 20:04                     ` Junio C Hamano
2007-12-06 21:02                       ` Junio C Hamano
2007-12-06 22:25                         ` 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  9:52               ` Andreas Schwab
2007-12-06 12:23                 ` Harvey Harrison
2007-12-06 11:57       ` Johannes Schindelin
2007-12-06 12:04         ` Ismail Dönmez
2007-12-05 22:51 J.C. Pizarro
2007-12-08  3:51 J.C. Pizarro
2007-12-08 15:06 ` Johannes Schindelin
2007-12-08 20:28   ` Joe Buck
2007-12-08 20:49     ` Marco Costalba
2007-12-09  7:02       ` Daniel Berlin
2007-12-15  4:12   ` Nix

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 read-only IMAP folder(s) and NNTP newsgroup(s).