Skip to content

Conversation

@ivan-ottinger
Copy link
Contributor

Summary

  • Adds a benchmark tool to compare Studio CLI site creation performance against raw Playground CLI
  • Supports both download mode (real-world) and bundled WordPress files (--use-bundled for apples-to-apples comparison)
  • Measures "create only" and "create + start" scenarios
  • Outputs min/max/avg/median statistics across configurable rounds

Initial Results (macOS ARM64)

Real-world comparison (Playground downloads, Studio uses bundled):

Benchmark Median vs Playground
Playground CLI (download) 6.34s baseline
Studio CLI (create only) 5.35s 15.7% faster
Studio CLI (create + start) 5.81s 8.4% faster

Apples-to-apples (both use bundled files):

Benchmark Median Overhead
Playground CLI (bundled) 4.25s baseline
Studio CLI (create only) 5.49s +1.24s (+29%)
Studio CLI (create + start) 6.04s +1.79s (+42%)

Usage

cd scripts/benchmark-site-create
npm install
npm run benchmark -- --rounds=5
npm run benchmark -- --rounds=3 --use-bundled  # apples-to-apples

Test plan

  • Run benchmark on macOS
  • Run benchmark on Windows
  • Document findings in STU-1235

🤖 Generated with Claude Code

…ation

Introduces a benchmark tool to measure site creation performance:
- Compares raw Playground CLI against Studio CLI
- Supports both download mode and bundled WordPress files (--use-bundled)
- Measures "create only" and "create + start" scenarios
- Outputs min/max/avg/median across multiple rounds
- Saves results to JSON for cross-platform comparison

Usage: cd scripts/benchmark-site-create && npm install && npm run benchmark

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ivan-ottinger ivan-ottinger self-assigned this Jan 23, 2026
ivan-ottinger and others added 3 commits January 23, 2026 15:15
- Use .cmd extension for Playground CLI on Windows
- Use taskkill instead of negative PID for process cleanup on Windows
- Use shell: true instead of detached: true on Windows for proper process handling

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Windows paths contain colons (C:\...) which conflict with the
--mount-before-install=host:vfs format. Use --mount-dir-before-install
with separate arguments on Windows instead.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Calls `studio site delete --path=<siteDir>` after each Studio CLI benchmark
round to remove site entries from appdata, preventing orphan entries pointing
to deleted temp directories.

Co-Authored-By: Claude Opus 4.5 <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.

2 participants