Reference

Prebuilt benchmark.

Measured local-build and VPS deploy results.

Prebuilt deployment pilots

Recorded 2026-08-17 for future release notes and blog research.

Environment#

  • Build host: Apple Silicon Mac, Colima, Docker 29.2.1, linux/arm64
  • Deploy host: Debian 12 ARM64 VPS, 4 GB RAM, 2 GB swap, rootless Podman
  • Flow: test, build exact committed HEAD, upload image over SSH, push or redeploy Git commit, receive signed webhook, start with --no-build, check health, retain rollback image

No registry or CI builder was involved.

Pilot A: full ship#

MeasurementResult
Historical server-build estimate shown by ship client1m 59s
Observed prebuilt end-to-end ship45s
Server deployment, accepted through healthy and retained18.233s
Difference from historical estimate74s faster
Relative end-to-end speed2.64x faster
Time reduction62%
Image size reported by server241 MB
Health request after deploymentHTTP 200 in 160ms
Application container memory after deployment13.65 MB
VPS available memory after deployment2.0 GiB
VPS swap used after deployment22 MiB
Preflight memory floor512 MiB, previously 1792 MiB for this app

Deployment log contained no build stage. Image verification, Compose validation, startup, health checking, rollback retention, and pruning still ran on server.

Pilot B: same-commit comparison#

Server-build and prebuilt deployments used the same exact commit. Both hosts had warm build caches. Memory was sampled from /proc/meminfo every 200ms during each server deployment.

MeasurementServer buildPrebuilt
Server deployment history duration39.221s5.656s
Redeploy command through terminal state40.376s6.752s
Minimum VPS available memory1982.7 MiB2072.1 MiB
Maximum VPS swap used19.5 MiB20.0 MiB
Application container memory after deployment31.48 MB31.46 MB

Prebuilt client work before remote deployment:

StageDuration
Warm local image build423ms
Image archive creation457ms
SSH upload and server validation7.825s
Build through verified upload8.705s
Build through completed deployment15.457s

Image measurements:

  • Docker image: 49,203,374 bytes (46.9 MiB)
  • SSH archive: 49,226,752 bytes (46.9 MiB)
  • Rootless Podman image: 131,616,643 bytes (125.5 MiB)
  • Platform: linux/arm64
  • Post-deployment health request: HTTP 200 in 145ms

Same-commit result:

  • Server-controlled deployment was 6.93x faster.
  • Full build, archive, upload, and deployment was 2.61x faster than server build.
  • End-to-end time dropped by 24.919s, or 61.7%.
  • Minimum available VPS memory stayed 89.4 MiB higher during prebuilt deployment.

Caveats#

These are pilot measurements, not a broad benchmark. Local and server build caches were warm. Pilot A baseline was a historical estimate rather than a same-commit run. Pilot B is a controlled same-commit comparison, but contains one measured run per mode. Network speed affects full-image SSH upload time. Memory sampling may miss spikes shorter than 200ms.

The useful result is not raw speed. Image construction moved off the 4 GB VPS, while the server kept verification, replacement, health, and rollback.