← back

api_session_create

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

Phase composition across releases

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.

Across releases

api_session_create — Across releases (median ms) api_session_create 0.25× 0.0 1645 3289 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 api_session_create — apiCreateGlobalSession api_session_create — apiCreateSession api_session_create — apiTotal (self) phase buckets apiCreateGlobalSession apiCreateSession apiLoadModule apiFindEntryPoint apiComposite apiSpecialize apiLink apiGetCode apiReflection apiTotal (self)

Daily tip-of-tree (last 30 days)

api_session_create — Daily tip-of-tree (last 30 days) (median ms) api_session_create 1.00× 0.0 475 950 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 api_session_create — apiCreateGlobalSession api_session_create — apiCreateSession api_session_create — apiTotal (self) phase buckets apiCreateGlobalSession apiCreateSession apiLoadModule apiFindEntryPoint apiComposite apiSpecialize apiLink apiGetCode apiReflection apiTotal (self)

Daily window progress

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 daycommitstop buckets (own %)
none

Reproduce

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

Compiled Slang source

the complete compiled source (N = 10), shown in full