Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions Docs/pages/11-benchmarks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,33 +21,33 @@ Awaiten wires the graph at build time, so there is nothing to reflect over at ru
- **Job**: `MediumRun` with the in-process toolchain.
- **Runner**: `ubuntu-latest` GitHub Actions agent, refreshed on every push to `main`.
- Each row shows time and allocated memory, sorted fastest-first; bars are scaled within the row so length corresponds to magnitude. The Awaiten row is highlighted as the baseline (`1.00x`) and every other row shows its ratio relative to Awaiten. **Lower is better.**
- Click a row to hide that container so the others spread out. Build and Resolve are measured at container sizes of 8, 64, and 256 registrations; switch between them with the inline tabs.
- Click a row to hide that container so the others spread out. Build and Resolve are measured at container sizes of 8 and 256 registrations; switch between them with the inline tabs.

:::

<Tabs groupId="awaitenBenchmark">

<TabItem value="Resolve" label="Resolve" default>
<TabItem value="Realistic" label="Realistic" default>

Steady-state resolution of a service by type once the container is built.
A per-request pattern, the shape a web app actually runs: open a scope, resolve a deep graph of mixed lifetimes rooted at a request handler, then dispose the scope.

<AwaitenBenchmarkResult name="Resolve" />
<AwaitenBenchmarkResult name="Realistic" />

</TabItem>

<TabItem value="Build" label="Build">
<TabItem value="Resolve" label="Resolve">

Container construction from cold, over a graph of singletons.
Steady-state resolution of a service by type once the container is built.

<AwaitenBenchmarkResult name="Build" />
<AwaitenBenchmarkResult name="Resolve" />

</TabItem>

<TabItem value="Realistic" label="Realistic">
<TabItem value="Build" label="Build">

A per-request pattern, the shape a web app actually runs: open a scope, resolve a deep graph of mixed lifetimes rooted at a request handler, then dispose the scope.
Container construction from cold, over a graph of singletons.

<AwaitenBenchmarkResult name="Realistic" />
<AwaitenBenchmarkResult name="Build" />

</TabItem>

Expand Down
Loading