4 ms·
Wow! You are right! Running go build on host instead of container is 1.16 times faster! A whopping 435ms difference! Amazing! /tmp/gitea $ hyperfine -p 'go
by rfoo 2y ago
Wow! You are right! Running go build on host instead of container is 1.16 times faster! A whopping 435ms difference! Amazing!
/tmp/gitea $ hyperfine -p 'go clean -cache' 'make backend' 'docker run --rm -v $PWD:/build -v $HOME/.go:/go -w /build golang:1.22.3 make backend'
Benchmark #1: make backend
Time (mean ± σ): 2.766 s ± 0.021 s [User: 8.429 s, System: 1.590 s]
Range (min … max): 2.732 s … 2.800 s 10 runs
Benchmark #2: docker run --rm -v $PWD:/build -v $HOME/.go:/go -w /build golang:1.22.3 make backend
Time (mean ± σ): 3.201 s ± 0.034 s [User: 9.9 ms, System: 7.7 ms]
Range (min … max): 3.135 s … 3.235 s 10 runs
Summary
'make backend' ran
1.16 ± 0.01 times faster than 'docker run --rm -v $PWD:/build -v $HOME/.go:/go -w /build golang:1.22.3 make backend'
(For incremental build, tested with `hyperfine --warmup 1 'make backend' 'docker run --rm -v $PWD:/build -v $HOME/.go:/go -v $HOME/.cache/go-build:/root/.cache/go-build -w /build golang:1.22.3 make backend'` it's 812.9 ms vs 1.146s.)