Back to notes

Benchmark / Token Efficiency

The Almedra Token-Efficiency Benchmark, Updated For GLM 5.2

Six coding agents. Same prompt. Same repo. GLM 5.2 on StreamLake.

Lowest billed cost Lucena Coder
Input
28.0k
Output
6.1k
Cached
22.5k
Total Cost
$0.011665
All agents used GLM 5.2
Provider
StreamLake
Prompt
See Below
Repo
Agent-Efficiency-Bench

The benchmark is deliberately ordinary.

Almedra Timepieces is a one-page small-business website built with React and Vite. It is the kind of codebase people actually hand to coding agents: real layout, real data, real styling, and a feature request that requires state, UI, and restraint.

The task was to add a two-watch comparison feature to the collection section. Every agent received the same prompt, the same clean repo, and the same GLM 5.2 model via OpenRouter routed through StreamLake.

Previously

This is the second time this benchmark has been run. The original benchmark used GLM 5.1.

See the original benchmark

The task stayed the same. The model changed to GLM 5.2.

OpenRouter recorded the calls, tokens, cache reads, cost, and total time for each run.

The Result

We ran each benchmark three times, threw out the worst result, and averaged the remaining two.

While the field compressed, the spread is still obvious.

Lucena posted the lowest billed cost and the smallest token footprint in the Almedra token-efficiency benchmark task using GLM 5.2.

Pi remained cheap, but stopped at build errors in all three runs.

The heavier harnesses all spent materially more tokens, even with aggressive caching. One cache miss, and those costs climb fast.

Agent Total Cost Total Tokens Model Calls Total Time Status
Lucena Coderlowest cost / fewest tokens $0.011665 34,102 8 <3 mins Pass
Picheap, but failed build $0.018592 117,002 12 <3 mins Build Error
OpenCode $0.040520 317,304 19 <3 mins Pass
Copilot $0.045740 395,334 18 <3 mins Pass
Continue $0.049076 415,091 28 <3 mins Pass
Kilo Code $0.063476 540,075 29 <4 mins Pass

Lucena finished at $0.011665 and used 34,102 total tokens across 8 model calls, the lowest billed cost and the lowest token count in the GLM 5.2 field shown here.

Total Tokens Used

Lucena wins on token-efficiency.

Lucena
34,102
Pi
117,002
OpenCode
317,304
Copilot
395,334
Continue
415,091
Kilo Code
540,075

The Prompt

The prompt asked each agent to add the same practical website feature:

Add a two-watch comparison feature to the collection.

Requirements:

- Each watch in the collection has a compare control.
- Users can select up to two watches.
- If a third watch is selected, replace the oldest selected watch.
- When two watches are selected, show a comparison panel at the bottom of the collection section.
- The panel compares movement, case size, power reserve, water resistance, and price.
- The panel includes both selected watch names.
- Include a `Clear comparison` control.
- Use the existing `timepieces` data.
- Keep the existing editorial visual direction without adding image cards.
- Do not change unrelated sections of the page.

What We Verified

Correctness came first. Cost only mattered after the run actually worked.

The Ledger

The usage table below comes from OpenRouter logs for GLM 5.2 runs recorded for this update.

Agent Input Output Cached Fresh Total Cost
Lucena 28.0k 6.1k 22.5k 5.5k $0.011665
Pi 111.1k 5.8k 100.9k 10.1k $0.018592
OpenCode 309.9k 7.3k 282.0k 27.9k $0.040520
Copilot 390.2k 5.1k 355.6k 34.5k $0.045740
Continue 410.5k 4.5k 368.0k 42.4k $0.049076
Kilo Code 531.5k 8.5k 486.9k 44.6k $0.063476

What This Test Tells Us

GLM 5.2 tightened the field, but it did not erase the working-set differences between harnesses.

Lucena led this update on both cost and total tokens. That is the headline result.

Pi is still the obvious pressure point because it stayed relatively cheap, but the build did not clear. OpenCode, Continue, and Kilo Code all shipped usable results in the capture we used here, but they did it with much larger working sets.

Cache helps. Sending less unnecessary context helps more.

Time to Completion

The time column comes from the OpenRouter session log view we used for this update. In that view, session windows and request timestamps are minute-granular, so the times shown here are approximate rather than second-precise.

That still gives every agent the same provider-side clock. Local CLIs can add startup time, terminal rendering, package resolution, and human paste flow around the run; OpenRouter records the part every agent had to buy from the provider.

Run The Harness

The benchmark repo contains the clean Almedra fixture and the exact prompt used for this run. Open the fixture, run the prompt with another coding agent, then compare the OpenRouter usage.

Benchmark Repo

Clean app workspace, one prompt file, and a reproducible starting point for coding-agent efficiency tests.

View the Benchmark Repo