1 |
> Mabey rfc2616 can be of some nice inspiration about caching. |
2 |
> As always, I refer to Roy T. Fielding's "Architectural Styles and |
3 |
> the Design of Network-based Software Architectures" as a must read. |
4 |
|
5 |
I'll take a look at this. As you guys, I don't have enough spare time :p |
6 |
|
7 |
> You have just described subversion... |
8 |
> Anyway you might want to experiment with cvsup vs. rsync. |
9 |
|
10 |
Freebsd is using cvsup. That's the reason for sure. |
11 |
|
12 |
> Do some experiments and benchmarking. What if only the cache was |
13 |
> downloaded at sync? Say you have a sql backend for portage, just sync |
14 |
> that and download the ebuilds on demand. |
15 |
|
16 |
That's the idea. If you look at debian package system (I know, it's far |
17 |
different, but ideas can be used on both projects), an update will |
18 |
only fetch the "cache", and then, package en demand (using apt-get install) |
19 |
|
20 |
|
21 |
|
22 |
> Personally I like crazy =) I think you should have a better |
23 |
> understanding of the current system before you criticise it though. |
24 |
|
25 |
Of course, I don't criticise anything, or anyone. I know the maxim "If |
26 |
you want it, do it" (Copyright Linus ;p ). |
27 |
I'll spend sometime if I can to help you guys. |
28 |
|
29 |
> <quote>rsync is a file transfer program for Unix systems. rsync uses the |
30 |
> "rsync algorithm" which provides a very fast method for bringing remote |
31 |
> files into sync. It does this by sending just the differences in the |
32 |
> files across the link, without requiring that both sets of files are |
33 |
> present at one of the ends of the link beforehand.</quote> |
34 |
> |
35 |
> rsync allready does it's best to only download new information. |
36 |
|
37 |
There are too many files to consider now in portage. At start, portage |
38 |
had just a few hundred of files, and rsync was doing its job quite well. |
39 |
Now portage has more than 80 000 files. Rsync has to consider all of |
40 |
them, and it's *REALLY* too long + painfull (my laptop is almost |
41 |
unusable during rsyncing). Sound like a "select * from table" on a test |
42 |
server with 15 test clients => will break in production environnement |
43 |
with thousands of clients. |
44 |
|
45 |
-- |
46 |
gentoo-portage-dev@g.o mailing list |