[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Using HTTP pipelining for substitutes

From: Ludovic Courtès
Subject: Using HTTP pipelining for substitutes
Date: Tue, 17 Jun 2014 00:20:30 +0200
User-agent: Gnus/5.130009 (Ma Gnus v0.9) Emacs/24.3 (gnu/linux)


The new ‘wip-http-pipelining’ branch changes ‘guix substitute-binary’ so
that, instead of using the current brute force approach—a bunch of
threads performing HTTP GETs[*] in parallel to–, it sends all
HTTP GET requests in a row and then reads responses (“HTTP pipeline”.)

I suspect it performs more or less the same as the brute force approach,
but it uses much less resources on the client (memory, file descriptors,
etc.), and likewise on the server (doesn’t have to handle a large number
of parallel connections.)

It should also be more robust, and will make it easy to have progress
report when updating the list of substitutes.

I’ll test it some more and make sure it works with Guile 2.0.5.

Comments welcome!


[*] The GETs are to check whether has a substitute for a
    given store item.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]