From a laptop with a 170 ms round trip, every invocation takes 3.8 s wall and 1.5 s of client CPU. The same command over an OpenSSH multiplexed connection takes 0.34 s.
| invocation | wall | client cpu |
|---|---|---|
gitbay auth whoami |
3.84 s | 1.53 s |
ssh git@gitbay.org whoami |
3.81 s | 1.53 s |
same with ControlMaster=auto ControlPersist=60, warm |
0.34 s | 0.00 s |
The CLI spawns ssh with no ControlMaster options (cmd/gitbay/ssh.go:95, :127, local.go:197) and the README's client quickstart does not mention multiplexing.
Remedy: pass -o ControlMaster=auto -o ControlPath=~/.ssh/gitbay-%C -o ControlPersist=300 by default, with a profile switch to disable. Separately, profile why the handshake costs 1.5 s of client CPU; a curve25519 exchange should not.
closed by commit 0dd284d9dd by cmc: cli: share one SSH connection per instance
2026-09-03 15:59 UTC