guix-devel/guix
Ludovic Courtès d8e89b1c79
offload: Reduce the number of calls to 'machine-load'.
Previously we would call 'machine-load' once per machine, which was very
costly when there were many machines.  Now we arrange to call it only
once on average (when all the machines have the same 'speed' value).

* guix/scripts/offload.scm (random-seed, shuffle): New procedures.
(choose-build-machine)[machines+slots+loads]: Rename to...
[machines+slots]: ... this.  Remove load from the tuples therein.
[undecorate]: Adjust accordingly.
[machine-less-loaded-or-faster?]: Remove.
[machine-faster?]: New procedure.
Sort MACHINES+SLOTS according to 'machine-faster?'.  Call
'machine-load?' as the last thing.
2017-10-12 17:51:41 +02:00
..
build syscalls: clone: Define syscall-id for aarch64. 2017-10-09 18:55:18 -05:00
build-system guix: ant-build-system: Add #:test-include and #:test-exclude arguments. 2017-10-03 21:38:23 +02:00
import import: cpan: Load (gnu packages perl) lazily. 2017-10-10 23:12:04 +02:00
scripts offload: Reduce the number of calls to 'machine-load'. 2017-10-12 17:51:41 +02:00
store
tests
base16.scm
base32.scm base32: Export the base32 charsets. 2017-07-21 17:03:24 +02:00
base64.scm base64: Turn into a regular Guile module. 2017-05-25 14:25:17 +02:00
build-system.scm
cache.scm
combinators.scm
config.scm.in
cpio.scm
cve.scm cve: Disable position recording while reading the CVE list. 2017-09-19 23:58:25 +02:00
cvs-download.scm
derivations.scm derivations: Introduce 'read-derivation-from-file'. 2017-06-12 17:53:51 +02:00
discovery.scm discovery: Recurse into directories pointed to by a symlink. 2017-07-03 23:51:23 +02:00
docker.scm
download.scm guix: mirrors: Add kde archive mirror. 2017-10-10 17:01:32 +03:00
elf.scm
ftp-client.scm
gcrypt.scm
gexp.scm gexp: Slightly improve error reporting for 'local-file'. 2017-07-20 18:08:00 +02:00
git-download.scm git-download: Remove call to 'canonicalize-path'. 2017-07-30 17:22:13 +02:00
git.scm guix: git: Stop using libgit2-shutdown. 2017-07-01 16:32:42 +02:00
gnu-maintenance.scm upstream: Add new GNOME updater. 2017-09-26 00:35:06 +02:00
gnupg.scm
grafts.scm derivations: Introduce 'read-derivation-from-file'. 2017-06-12 17:53:51 +02:00
graph.scm Revert "graph: Provide access to the package record in the emit functions." 2017-08-24 23:55:51 +02:00
hash.scm
hg-download.scm
http-client.scm http-client: Reset cache TTL upon 304 "Not Modified" responses. 2017-09-26 00:35:06 +02:00
licenses.scm licenses: Add CC-Sampling+ 1.0. 2017-09-22 08:04:32 -04:00
memoization.scm memoization: (mlambda () ...) allows for inner 'define'. 2017-09-03 23:36:17 +02:00
modules.scm modules: Raise an error when a dependency could not be found. 2017-05-25 14:25:17 +02:00
monad-repl.scm
monads.scm
nar.scm
packages.scm packages: Use Guile 2.0 for grafting. 2017-08-24 00:41:44 +02:00
pk-crypto.scm
pki.scm
profiles.scm profiles: Only check file contents if the file exists. 2017-08-09 14:46:48 +02:00
records.scm
scripts.scm
search-paths.scm
serialization.scm
sets.scm Add (guix sets). 2015-01-11 23:50:01 +01:00
ssh.scm ssh: Improve error reporting when 'send-files' fails. 2017-06-04 23:00:32 +02:00
store.scm store: Add missing import. 2017-10-07 17:08:32 +02:00
svn-download.scm guix: Add download-svn-to-store. 2017-06-15 17:03:14 +02:00
tests.scm
ui.scm ui: Improve reporting of missing closing parentheses. 2017-10-10 23:12:03 +02:00
upstream.scm guix: lint: Add checker for new upstream versions. 2017-10-09 14:05:17 +03:00
utils.scm download: Don't report the progress too fast. 2017-09-20 19:49:31 +08:00
workers.scm scripts: Set thread names. 2017-05-28 23:13:39 +02:00
zlib.scm zlib: Fix memory leak due to revealed ports not being GC'd. 2017-10-11 15:20:50 +02:00