Skip to content

chore: optimize build and test cycle times#2

Merged
strawgate merged 3 commits into
masterfrom
perf-investigation
Mar 29, 2026
Merged

chore: optimize build and test cycle times#2
strawgate merged 3 commits into
masterfrom
perf-investigation

Conversation

@strawgate
Copy link
Copy Markdown
Owner

The tests were extremely slow to compile because codegen-units = 1 and lto = "thin" were applied under the [profile.release] block in Cargo.toml (which Cargo uses internally when running cargo test --release).

This PR untangles testing and release processes, extracting these heavy performance optimisations into a dedicated [profile.production] block that inherits from release.

After this change:

  • Testing: cargo test --release will run optimally fast (parallelized codegen, 0 LTO), slashing cycle time drastically.
  • Production Builds: Now specifically accessed using cargo build --profile production when ultimate runtime performance is needed.

@strawgate strawgate merged commit 344ce6f into master Mar 29, 2026
@strawgate strawgate deleted the perf-investigation branch April 12, 2026 06:20
strawgate added a commit that referenced this pull request Apr 14, 2026
- Fix pending_acks count in stalled batch scenario: after ACKing #3,
  only #1 and #3 are in pending_acks (2, not 3) since #2 hasn't been
  ACKed yet at that step.

- Remove 'queued' from checkpoint-blocking states. Per the TLA+ spec,
  only sent batches (via begin_send) participate in ordered-ack.
  Queued batches that were never sent are invisible to the checkpoint
  machine and should not block advancement.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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