Files
zeekay f3160b9e60 benchmarks: a harness published nowhere a reader can open is named, not linked
brain/ and cronquestions/ are in no branch of hanzoai/benchmarks on
GitHub, so five links 404ed. harness.url is optional, Harness renders the
one way (a link where there is one), and a result's source is the page
itself when the harness has no public home.
2026-10-30 01:02:34 -07:00

87 lines
4.0 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* /benchmarks/fleet — what a dormant agent costs, at a million of them.
*
* The table renders the fleet pass of lib/data/benchmarks-runtime.json. The
* prose quotes figures from that pass by hand, so a rerun edits both.
*/
import { T } from '@hanzo/i18n/react'
import { pageMeta } from '@/lib/page-meta'
import { BENCHMARKS, DORMANT, bench, paperUrl } from '@/lib/benchmarks'
import { BenchJsonLd } from '@/components/benchmarks/JsonLd'
import { Grid, H2, Harness, Meta, More, Note, P, Shell, Spec, type Col } from '@/components/benchmarks/kit'
import { RUNTIME, shots, type Shot } from '@/lib/bench-data'
const B = bench('fleet')!
export const metadata = pageMeta({
title: 'Dormant agent cost benchmark',
description:
"Benchmark 1M dormant AI agents: 477 bytes of state each, 309k written/sec, and 0.034 ms resume times on Hanzo's high-speed agent engine.",
path: '/benchmarks/fleet',
})
const MEASURES = ['bytes per dormant agent', 'write rate', 'resume latency']
/* The storage-cost row this table used to carry is gone: $0.01 a month against $22 is list-price
arithmetic over a competitor's modelled agent size, which is a derivation of a
derivation and not something the command below prints. The row above it says
the same thing without the assumption. */
const ROWS = shots('fleet')
const cols: Col<Shot>[] = [
{ head: <T>measurement</T>, get: (r) => r.what, left: true },
{ head: <T>Hanzo, measured</T>, get: (r) => r.ours },
{ head: <T>the published figure</T>, get: (r) => r.theirs ?? '—', left: true },
]
export default function Page() {
return (
<>
<BenchJsonLd b={B} measures={MEASURES} />
<Shell b={B}>
<Spec b={B} />
<H2><T>What is measured</T></H2>
<P>
<T values={{ dormant: <em><T>dormant</T></em> }}>
{'A million agents are created, written to disk, and read back. What is counted is the state a {dormant} agent occupies — the row that has to exist for an agent to be resumable at all — the rate at which those rows can be written, and the time to bring one back. Nothing is running while the measurement is taken, which is the point: an agent platform’s floor is what it costs to keep an agent that is doing nothing.'}
</T>
</P>
<H2><T>Results</T></H2>
<Meta>
<T values={{ machine: RUNTIME.passes.fleet.machine }}>{'one million agents · {machine} · the pass of 2026-09-07'}</T>
</Meta>
<Grid cols={cols} rows={ROWS} keyOf={(r) => r.what} />
<Note>
<T>{'The right-hand column is not a competitor’s measurement. It is the per-agent figure a competing platform assumes in its own published arithmetic, marked there as modelled and never billed. Ours is a directory you can list. The distance between the two is about 2,200× and most of it is the difference between an assumption and a file.'}</T>
</Note>
<H2><T>What this does not measure</T></H2>
<P>
<strong>
<T>A dormant agent is not a running one.</T>
</strong>{' '}
<T values={{ live: <a href="/benchmarks/goroutine"><T>601 bytes of heap and 125 ns to spawn</T></a> }}>
{'This number is the floor, and the floor is the easy part. What a live agent costs is a different measurement with a different command — {live}.'}
</T>
</P>
<P>
<strong>
<T>One machine, one day.</T>
</strong>{' '}
<T>
{'This is a single pass on one laptop. It is reproducible by one command and it is not a fleet of machines under load, so read it as a floor that has been established rather than as a service level.'}
</T>
</P>
<More b={B} all={BENCHMARKS} />
<Meta>
<T values={{ harness: <Harness of={B.harness} />, paper: <a href={paperUrl(DORMANT)}>{DORMANT.title}</a> }}>
{'harness and the committed table: {harness} · the paper: {paper}'}
</T>
</Meta>
</Shell>
</>
)
}