On Tue, Oct 13, 2015 at 02:11:40PM +0200, Pjotr Prins wrote:
> I just checked the substitute cache in /var/guix/substitute/cache and
> these files are small (3K only!). So, all that pain to fetch a 3K file
> :). I thought it was network related, but it is generating this cache
> file that is expensive.  

Well, there is one file per package. Assuming that one would limit the cache
to only one architecture, that would still end up with 2500*3KB=7,5MB,
a somewhat larger file.

Still, my impression (also from using substitutes) is that _access_ to hydra
is slow; once the download starts, even larger files arrive quite quickly
(since nginx caching is enabled). So it may be much more efficient to
download one bigger file once every three hours, than a small file for more
or less each transaction. But this may be complicated to realise; what should
the file be? Of course I am mainly thinking of one branch and its current list
of packages - but which one? And nothing prevents people from remaining on
some old git commit, and hydra will happily serve any package that is still
available in its store. So the implementation would need to change from a
reply to a simple request if some packages are available, to some logic on
the hydra side guessing the list of packages a client might be interested in.

So maybe just switching to a more powerful and reactive hydra machine would
be the better way to solve this problem!

Andreas

PS: And we should stop "updating list of substitutes from 
'http://hydra.gnu.org'"
    upon the command "guix package -r upower". Which list is requested during
    this call?


Reply via email to