syncthing/cmd
Jakob Borg 7fa699e159
build, lib/build: Build faster (#6538)
This changes the build script to build all the things in one go
invocation, instead of one invocation per cmd. This is a lot faster
because it means more things get compiled concurrently. It's especially
a lot faster when things *don't* need to be rebuilt, possibly because it
only needs to build the dependency map and such once instead of once per
binary.

In order for this to work we need to be able to pass the same ldflags to
all the binaries. This means we can't set the program name with an
ldflag.

When it needs to rebuild everything (go clean -cache):

    ( ./old-build -gocmd go1.14.2 build all 2> /dev/null; )  65.82s user 11.28s system 574% cpu 13.409 total
    ( ./new-build -gocmd go1.14.2 build all 2> /dev/null; )  63.26s user 7.12s system 1220% cpu 5.766 total

On a subsequent run (nothing to build, just link the binaries):

    ( ./old-build -gocmd go1.14.2 build all 2> /dev/null; )  26.58s user 7.53s system 582% cpu 5.853 total
    ( ./new-build -gocmd go1.14.2 build all 2> /dev/null; )  18.66s user 2.45s system 1090% cpu 1.935 total
2020-04-16 10:09:33 +02:00
..
stcli all: Tweak error creation (#6391) 2020-03-03 22:40:00 +01:00
stcompdirs all: Tweak error creation (#6391) 2020-03-03 22:40:00 +01:00
stcrashreceiver cmd/stcrashreceiver: Enable (rough) affected users count (#6511) 2020-04-07 13:19:49 +02:00
stdisco all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
stdiscosrv build, lib/build: Build faster (#6538) 2020-04-16 10:09:33 +02:00
stevents all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
stfileinfo all: Implement variable sized blocks (fixes #4807) 2018-04-16 19:08:50 +01:00
stfinddevice lib: Faster termination on exit (ref #6319) (#6329) 2020-02-13 14:43:00 +01:00
stfindignored cmd/stfindignored: Default to current directory 2018-06-06 22:24:36 +02:00
stgenfiles all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
stindex lib/db: Slightly improve indirection (ref #6372) (#6373) 2020-02-27 11:19:21 +01:00
strelaypoolsrv cmd/strelaypoolsrv: Simplify LRU usage (#6507) 2020-04-06 12:43:56 +02:00
strelaysrv build, lib/build: Build faster (#6538) 2020-04-16 10:09:33 +02:00
stsigtool cmd/stsigtool: Silence spurious Go 1.10 test/vet complaint 2017-12-10 19:42:17 +01:00
stupgrades cmd/stupgrades: Generate appropriate upgrade data (fixes #5924) (#5960) 2019-08-16 10:04:10 +02:00
stvanity all: Tweak error creation (#6391) 2020-03-03 22:40:00 +01:00
stwatchfile all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
syncthing cmd/syncthing, lib/db: Store upgrade info to throttle queries (fixes #6513) (#6514) 2020-04-13 10:21:07 +02:00
uraggregate cmd/ur*: Updates for 1.0 2019-01-03 21:46:02 +01:00
ursrv cmd/ursrv: Filter out ancient versions from chart 2020-04-16 09:13:01 +02:00
.gitignore Remove reprecated st* utils 2014-07-01 12:20:25 +02:00