Skip to content

perf(web): load schemas in parallel with progress - #237

Merged
orian merged 1 commit into
mainfrom
perf/web-parallel-loading-status
Sep 7, 2026
Merged

orian merged 1 commit into
mainfrom
perf/web-parallel-loading-status

Conversation

@orian

@orian orian commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • load web manifest compositions concurrently instead of composing each role/environment serially
  • load per-node dump models through a bounded pool of up to 32 workers, allowing a 30-node fleet to start all loads together
  • preserve deterministic manifest and filename result order regardless of completion order
  • print startup progress to stderr at bounded intervals, including worker count, completed tasks, final success, and failure count
  • keep single-config and drift command behavior unchanged
  • document parallel startup and progress behavior

Example startup output:

web: loading 30 dump models in parallel (30 workers)
web: loading dump models: 1/30 complete
web: loading dump models: 3/30 complete
...
web: loaded 30 dump models

End-to-end coverage

  • start hclexp web in a subprocess against 30 real node dumps
  • verify parallel progress is emitted on stderr, stdout remains empty, and the browser reaches its serving state
  • build a 30-node dump browser and verify every node is mounted
  • use a worker barrier to prove all 30 jobs start concurrently before any finishes
  • verify results and errors retain deterministic input order

Verification

  • go test ./... (1365 tests)
  • go test -race ./internal/... ./cmd/... (1351 tests)
  • go vet ./...
  • go build ./...
  • gofmt -s -l .
  • git diff --check

@orian
orian merged commit 32e84db into main Sep 7, 2026
16 checks passed
@orian
orian deleted the perf/web-parallel-loading-status branch September 7, 2026 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant