The session-create workload needs no sources; the driver only creates and destroys sessions (`--iters n` is passed by bench.py).
bucket: api_overhead · compile mode: api · flags: (none) · default N: 10
Full sub-counter decomposition of compileInner — named leaf timers plus (self) residuals (a parent's time not covered by a named child, e.g. the autodiff transform in linkAndOptimizeIR (self)). Topmost band traces compileInner; hover a band for its phase.
Overall apiTotal: 858.4 → 854.5 ms -0.5% (2026-07-30 7c58a326b → 2026-08-29 28c755b09)
Contributors — the mutually-exclusive phase buckets (named leaves + (self) residuals) that tile apiTotal; the pp column sums to the overall %. Buckets moving the total by ≥0.2% are listed, the rest fold into the remainder row. Below them, every other reported counter (nested/overlapping, e.g. serialized-module reads — own change only):
| counter | Δ | own % | of total |
|---|---|---|---|
| apiCreateGlobalSession | -4.6 ms | -0.6% | -0.5pp |
| (remaining 2 buckets) | +0.7 ms | – | +0.1pp |
Largest day steps (≥5% of the previous day, both directions; bisect with git log <c0>..<c1> -- source/):
| boundary | % vs prev day | commits | top buckets (own %) |
|---|---|---|---|
| none | |||
Run from the slang repo root. This regenerates the sources below and re-runs this workload's measurement; --gen-dir keeps the generated files (they go to a tempdir and are deleted otherwise).
python3 tools/compile-perf/bench.py --slangc /path/to/slangc --only api_session_create --label repro --gen-dir repro-api_session_create
the complete compiled source (N = 10), shown in full