Skip to content

Add the measurement tools under tools/ - #7

Merged
pathscale merged 1 commit into
masterfrom
tools-profiling
Sep 24, 2026
Merged

pathscale merged 1 commit into
masterfrom
tools-profiling

Conversation

@pathscale

Copy link
Copy Markdown
Owner

Adds tools/, the instruments behind the speed work (#5) and the dependency work (#6), so the next round of measurement starts from them instead of rebuilding them. tools/README.md says what each one does.

  • bounded.sh: run a command with a watchdog (macOS has no timeout).
  • profile/: bun scripts that fold macOS sample output: per function, callers and callees, own time per compiler pass (phase.ts), own time by kind of work (share.ts), and A/B aggregation.
  • parse-ref/: frontend's parser timed against rust-analyzer's and syn's (a crate of its own, outside the workspace).
  • deps/: chain.sh, the exact recipe that reads std's closure and anyhow, serde_json and tokio with theirs, from source, with frontend-facts, writing each crate's metadata; and check.sh with three fixtures that check a file against tokio (clean, E0599, E0061).

Every path is a parameter (LIBRARY, REGISTRY, OUT, FACTS) or relative to the script; nothing names a machine or a caller. POSIX sh and bun only. Cargo.toml excludes tools/ from the published package.

Checked: sh -n on the scripts; the profile scripts run from their new location on a saved profile.

…r tools/

`tools/` holds what found where the time goes, so the next round starts from the same
instruments: a watchdog for bounded runs, bun scripts that fold macOS `sample` profiles (per
function, per compiler pass, by kind of work), a crate timing frontend's parser against
rust-analyzer's and syn's, and the recipe that reads std's dependency closure and three registry
crates' from source with their metadata, with the checks run against tokio. Every location is a
parameter. `cargo publish` leaves the directory out.
@pathscale
pathscale merged commit 53bdd20 into master Sep 24, 2026
@pathscale
pathscale deleted the tools-profiling branch September 24, 2026 17:52
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