Engine · Benchmarks

Benchmark results

Measurements on CodeRouterBench. Every figure is read from the evaluation artifacts at build time and matches the record in reports/.

Held-out rows
1,425

Every row was run through all ten strategies, with 2,000 paired bootstrap resamples and split seed 0.

Interval
95%
correct threshold
0.5

Policy comparison

On 1,425 held-out rows the reward for enthalpy is 0.4381, and for the best single model in the pool it is 0.4167.

  1. oracle0.5212$0.00112
  2. cheapest_correct0.5006$8.31e-4
  3. enthalpy0.4381$0.00468
  4. knn(k=16)0.4257$0.00340
  5. best_single0.4167$0.00727
  6. cluster_balance(k=8,alpha=0.7)0.4162$0.00283
  7. random(seed=0)0.3488$0.00361
  8. round_robin0.3420$0.00357
  9. most_expensive0.3363$0.00935
  10. cheapest0.3317$2.36e-4

enthalpy† bounds, not policiesOther baselinesBar length = reward; the two right-hand columns are reward and the average cost per call

The four rows marked † are bounds, not deployable policies: oracle, cheapest_correct, cheapest, and most_expensive use the recorded result of every row. oracle reaches 0.5212 at an average cost of $0.00112, and the gap to the reward for enthalpy is 0.0831.

The full comparison: correct count, cost per call, cost per correct answer, reward/$, oracle gap, models used
routerrewardcorrect$/query$/correctreward/$oracle gapmodels used
oracle †0.5212747/1425$0.00112$0.00215463.50.00008
cheapest_correct †0.5006747/1425$8.31e-04$0.00159602.10.02068
enthalpy0.4381622/1425$0.00468$0.0107293.60.08318
knn(k=16)0.4257607/1425$0.00340$0.00798125.30.09568
best_single0.4167594/1425$0.00727$0.0174357.30.10451
cluster_balance(k=8,alpha=0.7)0.4162587/1425$0.00283$0.00686147.20.10515
random(seed=0)0.3488489/1425$0.00361$0.0105396.60.17258
round_robin0.3420477/1425$0.00357$0.0106595.90.17938
most_expensive0.3363460/1425$0.00935$0.0289536.00.18496
cheapest †0.3317463/1425$2.36e-04$7.26e-041406.10.18964
Every policy, ordered by reward

Over 1425 held-out rows, enthalpy beats best_single on reward: 0.4381 vs 0.4167, Δ=+0.0214, 95% CI [+0.0093, +0.0336], sign test p=0.0019, reward per dollar 1.63x.

Deltas and confidence intervals

Each horizontal line is a 95% paired bootstrap confidence interval; the vertical rule is zero. An interval that contains zero marks a delta that cannot be distinguished from zero.

oracle vs best_single+0.1045[+0.0901, +0.1193]
enthalpy vs best_single+0.0214[+0.0093, +0.0336]
knn(k=16) vs best_single+0.0089[-0.0040, +0.0222]
enthalpy vs knn(k=16)+0.0125[+0.0018, +0.0231]

The third interval contains zero: knn(k=16) is not distinguishable from best_single. Wins/losses/ties for enthalpy against the best single model are 78/43/1304.

Against k-NN the reward per dollar is 0.75×, below one: higher quality, lower efficiency per unit of cost. The trade-off in the cost weight γ is the next section.

The full paired tests: bootstrap p, sign p, wins/losses/ties, win rate, reward/$ ratio
routerΔreward95% CIbootstrap psign pW/L/Twin ratereward/$ ratio
oracle+0.1045[+0.0901, +0.1193]0.00000.0000308/0/11170.6088.08
cheapest_correct+0.0839[+0.0688, +0.0997]0.00000.0000274/129/10220.55110.50
enthalpy+0.0214[+0.0093, +0.0336]0.00100.001978/43/13040.5121.63
knn(k=16)+0.0089[-0.0040, +0.0222]0.19501.000086/85/12540.5002.18
cluster_balance(k=8,alpha=0.7)-0.0005[-0.0147, +0.0136]0.93900.3711115/130/11800.4952.57
random(seed=0)-0.0680[-0.0860, -0.0503]0.00000.0000107/304/10140.4311.68
round_robin-0.0747[-0.0917, -0.0576]0.00000.0000104/307/10140.4291.67
most_expensive-0.0804[-0.0975, -0.0634]0.00000.000070/279/10760.4270.63
cheapest-0.0851[-0.1061, -0.0661]0.00000.0000134/365/9260.41924.52
Paired bootstrap, against best_single
routerΔreward95% CIbootstrap psign pW/L/Twin ratereward/$ ratio
oracle+0.0956[+0.0814, +0.1098]0.00000.0000295/0/11300.6043.70
cheapest_correct+0.0750[+0.0606, +0.0901]0.00000.0000256/130/10390.5444.81
enthalpy+0.0125[+0.0018, +0.0231]0.02200.002268/36/13210.5110.75
best_single-0.0089[-0.0222, +0.0040]0.19501.000085/86/12540.5000.46
cluster_balance(k=8,alpha=0.7)-0.0095[-0.0202, +0.0011]0.07400.269873/88/12640.4951.17
random(seed=0)-0.0769[-0.0949, -0.0596]0.00000.0000104/302/10190.4310.77
round_robin-0.0837[-0.1003, -0.0667]0.00000.0000100/300/10250.4300.77
most_expensive-0.0893[-0.1070, -0.0725]0.00000.000087/293/10450.4280.29
cheapest-0.0940[-0.1114, -0.0772]0.00000.0000104/334/9870.41911.22
Paired bootstrap, against knn(k=16)

Distribution of model selections

The four queries in the hero all select the same model at γ=0 — four prompts say nothing about a distribution.The distribution over the whole held-out set does:

enthalpy

Selection entropy 2.2589 bit

  1. MiniMax-M2.71.1%
  2. Qwen3-Max9.3%
  3. claude-opus-4-648.1%
  4. claude-sonnet-4-610.7%
  5. glm-59.3%
  6. gpt-5.40.6%
  7. kimi-k2.514.9%
  8. qwen3.5-plus5.9%

best_single

Selection entropy 0.0000 bit

  1. MiniMax-M2.70.0%
  2. Qwen3-Max0.0%
  3. claude-opus-4-6100.0%
  4. claude-sonnet-4-60.0%
  5. glm-50.0%
  6. gpt-5.40.0%
  7. kimi-k2.50.0%
  8. qwen3.5-plus0.0%

Method (a standing footer for this section, not a tooltip): CodeRouterBench, 4,781 rows, split at 30% into 1,425 held-out rows (3,356 rows for training, split seed 0). 2,000 paired bootstrap resamples, seed 0, 95% intervals; correct threshold 0.5; all 8 models in the candidate pool are eligible. The resolution floor of a bootstrap p is 1/2,000, so a 0.0000 in these tables should be read as “smaller than that”.

At a cost weight of 0.3, the confidence interval for that advantage includes zero. The shipped default is therefore 0.

The cost term and the frontier

After scoring, γ · log1p(est_cost / c_ref) is subtracted — the unit is log cost, not a ratio between 0 and 1. Raising γ moves the router towards the cheaper side, and it moves inside the same argmax, with no second set of rules.

Cost / reward frontierCost per query (USD)reward0.36090.4381$0.00000$0.00363$0.00727γ=0γ=0.3γ=1γ=2γ=4γ=8best_singleknn(k=16)
Every point on the frontier: γ, reward, cost per query, models used
γreward$/queryModels usedGap to oracle
00.4381$0.0046880.0831
0.30.4282$0.0035580.0930
10.4167$0.0023160.1045
20.3950$0.0010850.1262
40.3692$3.39e-440.1520
80.3609$3.04e-420.1603

The result at a cost weight of 0.3

Over 1425 held-out rows, the strongest policy (enthalpy, reward 0.4282) is NOT distinguishable from best_single (reward 0.4167): Δ=+0.0115, 95% CI [-0.0015, +0.0247] includes zero.

The same data and the same bootstrap, with γ moved from zero to 0.3: reward falls a little and each query costs noticeably less, but the confidence interval crosses zero. Crossing zero means the advantage can no longer be distinguished statistically from no advantage at all. That is why the factory default carries no cost penalty — the cheaper setting was measured, it does save, it does not win by enough to be certain, and so it is not the default.

routerΔreward95% CIbootstrap psign pW/L/Twin ratereward/$ ratio
oracle+0.1045[+0.0901, +0.1193]0.00000.0000308/0/11170.6088.08
cheapest_correct+0.0839[+0.0688, +0.0997]0.00000.0000274/129/10220.55110.50
enthalpy+0.0115[-0.0015, +0.0247]0.08300.105579/59/12870.5072.10
random(seed=0)-0.0680[-0.0860, -0.0503]0.00000.0000107/304/10140.4311.68
round_robin-0.0747[-0.0917, -0.0576]0.00000.0000104/307/10140.4291.67
most_expensive-0.0804[-0.0975, -0.0634]0.00000.000070/279/10760.4270.63
cheapest-0.0851[-0.1061, -0.0661]0.00000.0000134/365/9260.41924.52
γ = 0.3, against the best single model

Routing latency

A selection is a real prefill, so it grows with the length of the prompt. Below are the raw measurements, with the conditions stated under the table; whether they earn their place ahead of an upstream call is yours to judge.

prompt tokensCharactersp50 (warm)p95 (warm)min–maxFirst call (cold)
156071 ms77 ms67 ms – 80 ms180 ms
2561,293264 ms334 ms247 ms – 369 ms251 ms
1,0245,229944 ms998 ms917 ms – 1029 ms963 ms

A short prompt (15 tokens) takes 71 ms; at the truncation ceiling of 1,024 tokens it takes 944 ms. ENTHALPY_ROUTER_MAX_TOKENS is therefore a latency control and not only a memory one — the routing signal sits in the statement of the task, the statement of the task sits near the start of the prompt, and truncation cuts from the left.

The cold and warm columns have to be read together. The first decision in a process takes 180 ms, and only at steady state is it 71 ms — the backend is building its kernels. Send a warm-up request before a new replica goes behind the load balancer. Loading the weights takes a further 2.7 s on top of that, once per process start.

Conditions: backbone Qwen/Qwen3-0.6B, device cpu, dtype float32, 8 candidates, 25 iterations plus 5 warm-ups, router_max_tokens 1,024. Checkpoint sft-2e9f, pool 3520b40d — note that this is not the checkpoint the accuracy figures above came from. Two measurements from two artefacts do not share one line of provenance.

Evaluation setup

Dataset
CodeRouterBench, 4,781 rows in total; the source probing / id_test split provides 1,425 held-out rows. Hash fraction and seed do not determine this split.
Correctness threshold
0.5. The same threshold applies to every router, including the oracle.
Confidence interval
2,000 paired bootstrap resamples, seed 0, 95% interval. Paired means the comparison is made on the same row, not between the means of two independent samples.
Model pool
All 8 models qualify; checkpoint sft-f23aa90cd7c68f27e9b702a0, pool fingerprint 3520b40db3b55b1e.
Latency
Qwen/Qwen3-0.6B on cpu, float32, 8 candidates, 25 iterations plus 5 warmups. No GPU.
Cost
Billed against actual token counts at each provider's published list prices, not estimates; the oracle and cheapest baselines use the same price table.

Let’s talk infrastructure.

Connect to the platform, or discuss models, performance and deployment.