Re: [gentoo-dev] Re: rfc: why are we still distributing the portage tree via rsync?

2018-07-05 Thread Kent Fredric
On Fri, 06 Jul 2018 01:55:32 +0200
Gerion Entrup  wrote:

> Would it possible to take the bare repo (< 600 MB) and only mount the latest 
> checkout (with fuse eg)?

That would incur performance problems, because packed objects are
stored as differences to other objects ( similar to how later pieces in
a gzip stream are dependent on earlier pieces in the stream ).

Subsequently, having a real checkout substantially improves performance.

For a FUSE module to compete with this, it would need a lot of special
mechanics, including keeping lots of memory reserved for state.

So you might end up trading that additional 800mb disk space for
500mb-1.5gb of memory utilization.


pgpuzvJLTft_g.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: rfc: why are we still distributing the portage tree via rsync?

2018-07-05 Thread Gerion Entrup
Am Donnerstag, 5. Juli 2018, 14:03:36 CEST schrieb Martin Vaeth:
> Matt Turner  wrote:
> > The ebuild tree is 600MB with rsync and cannot fit on the partition
> > with git.
> >
> > I'd be happy to switch if the space requirements were similar.
> 
> If one git repacks every few syncs one needs currently about 800 MB.
> 
> With additionally squashfs (zstd) (+ overlayfs) the full
> archive size is currently <600 MB.
> 
> In both cases, the temporary disk space is slightly more, of course.
> For a 1GB reserved partition I'd use the partition for the temporary
> mounting and store the archive somewhere else, but I think chances are
> good that you also come through with only a git repack after
> every sync. A difficulty might be the very first git sync.

Would it possible to take the bare repo (< 600 MB) and only mount the latest 
checkout (with fuse eg)?

Gerion






[gentoo-dev] Re: rfc: why are we still distributing the portage tree via rsync?

2018-07-05 Thread Martin Vaeth
Matt Turner  wrote:
> The ebuild tree is 600MB with rsync and cannot fit on the partition
> with git.
>
> I'd be happy to switch if the space requirements were similar.

If one git repacks every few syncs one needs currently about 800 MB.

With additionally squashfs (zstd) (+ overlayfs) the full
archive size is currently <600 MB.

In both cases, the temporary disk space is slightly more, of course.
For a 1GB reserved partition I'd use the partition for the temporary
mounting and store the archive somewhere else, but I think chances are
good that you also come through with only a git repack after
every sync. A difficulty might be the very first git sync.