Skip to content

Test speedup (2) - #415

Open
razzmatazz wants to merge 1 commit into
mainfrom
test-speedup-2
Open

Test speedup (2)#415
razzmatazz wants to merge 1 commit into
mainfrom
test-speedup-2

Conversation

@razzmatazz

Copy link
Copy Markdown
Owner

No description provided.

… of live-instance cap

`activeClientsSemaphore` already limits how many server instances can be alive
at once (idle, leased, or booting), but placed no limit on how many `LoadSolution`
boots -- process spawn + prebuild `dotnet build` callback + MSBuild solution load,
the CPU/disk-heavy phase -- run concurrently. Profiling a local run showed CPU
usage dropping to near-idle for long stretches between fixture-test bursts,
suspected to be boot-phase contention (concurrent nested `dotnet build` calls
racing MSBuild's own build node).

Adds a second, independent throttle in `poolManager`'s own state: `InFlightBoots`
tracks the actual `Task` for each in-flight boot (not just a count), admitting a
new boot immediately if under `maxConcurrentBoots`, otherwise queuing it (FIFO)
until a slot frees up. Scales with core count (one slot per 4 logical cores,
floor, minimum 1) rather than a flat constant, so small CI runners (e.g. 4-vCPU
GitHub Actions) get exactly 1 concurrent boot instead of racing several.

🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-sonnet-5)

Co-Authored-By: eca-agent <git@eca.dev>
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