Rae
Benchmarks

Deep reasoning in milliseconds.

Rae reasons over a knowledge model and does not make a statistical guess. We tested how the Rae Reasoner handles deeper inference, larger models and more data, then validated the answers against known truths, their repeatability and the evidence behind them.

0.22 ms

An answer 32 levels deep, across 1.9 quadrillion derivation paths

0 wrong

In 450,205 answers checked against independent ground truth

100% identical

Answers, in the same order, across 181,896 repeated runs

8,845 of 8,845

Answers whose evidence passed every independent proof check

Speed and scale

Large models are highly performant.

We ran three separate experiments with varying inference depth, the number of rules and the number of facts. Timings cover the query itself, after facts have been injected into a fresh session.

More paths do not equal exponential work

Each level branches to three items at the next level. At 32 levels, the workload has 1.9 × 1015 derivation paths. The query completes in 224 μs, with the expected answer at every measured depth.

224 μs32 compounding levels

From 1 to 32 levels, derivation paths grow by a factor of 6.2 × 1014. Median query time grows by a factor of 12.

More paths do not equal exponential work. Query time · ms by Levels of inference. Measured values are also available in the data table.00.050.10.150.20.2508162432Query time · msLevels of inferenceLevels of inference: 1, Median (p50): 0.018Levels of inference: 2, Median (p50): 0.019Levels of inference: 3, Median (p50): 0.037Levels of inference: 4, Median (p50): 0.044Levels of inference: 6, Median (p50): 0.055Levels of inference: 8, Median (p50): 0.074Levels of inference: 10, Median (p50): 0.087Levels of inference: 12, Median (p50): 0.091Levels of inference: 16, Median (p50): 0.116Levels of inference: 20, Median (p50): 0.152Levels of inference: 24, Median (p50): 0.174Levels of inference: 28, Median (p50): 0.203Levels of inference: 32, Median (p50): 0.224
Median (p50)p90
8.47 ms

5,000 distinct rule levels

183.8 ms

left-recursive closure of a 10,000-link chain

138.3 ms

compile 15,001 rules

Correctness and evidence

We benchmarked all answers and proofs.

A fast answer is only useful if it is right. We compared results with independently computed ground truths and checked each evidence tree (proof tree), against the source model.

All answers correct.

A mismatch means a missing fact, an extra fact or a fact returned with the wrong certainty. Expected answers come from a separate evaluator, breadth-first search or independently computed certainty arithmetic.

Zerowrong answers in 450,205 checked

Same inputs. Same answer.

Answers matched in all 181,896 comparisons. Evidence was identical in all 138,489 comparisons. When input or query order changed, the proof could differ, but all 6,574,218 proof checks still passed.

All reasoning evidence verified.

All 8,845 tested answers passed every evidence check. The checker shares the expression evaluator with the reasoner, but otherwise walks the public evidence format independently against the source model.

5,970 / 5,970

deliberately corrupted evidence trees rejected

1,058 / 1,058

answers re-derived with the same certainty from their stated premises alone

A checker must catch bad evidence.

The benchmark injected eight kinds of fault, including changed facts, bindings, weights, missing aggregate facts and altered expression results. Every corrupted tree was successfully rejected.

Concurrent load

Throughput that holds under load.

Each HTTP client started a session, injected 620 facts, ran two queries and fetched one evidence tree. The server runs as a separate process over loopback, with the load generator on the same machine. Throughput peaks at 8,408 queries per second with 32 clients and measures 7,959 queries per second with 256 clients. No request fails at any tested load level. As the cores fill, session latency rises with queueing but does not degrade when full.

HTTP throughput across concurrent clients. Completed per second by Concurrent clients. Measured values are also available in the data table.02k4k6k8k10k1248163264128256512Completed per secondConcurrent clients (log₂ scale)Concurrent clients: 1, Queries / second: 968Concurrent clients: 2, Queries / second: 1860Concurrent clients: 4, Queries / second: 3440Concurrent clients: 8, Queries / second: 6321Concurrent clients: 16, Queries / second: 8139Concurrent clients: 32, Queries / second: 8408Concurrent clients: 64, Queries / second: 8213Concurrent clients: 128, Queries / second: 8004Concurrent clients: 256, Queries / second: 7959Concurrent clients: 512, Queries / second: 8209Concurrent clients: 1, Complete sessions / second: 484Concurrent clients: 2, Complete sessions / second: 930Concurrent clients: 4, Complete sessions / second: 1720Concurrent clients: 8, Complete sessions / second: 3160Concurrent clients: 16, Complete sessions / second: 4069Concurrent clients: 32, Complete sessions / second: 4204Concurrent clients: 64, Complete sessions / second: 4106Concurrent clients: 128, Complete sessions / second: 4002Concurrent clients: 256, Complete sessions / second: 3979Concurrent clients: 512, Complete sessions / second: 4105
Queries / secondComplete sessions / second
9.0×

throughput from 1 to 16 server cores, with the load generator sharing those cores

3.18 ms

median complete HTTP session at 16 clients, and 12.5 ms at p99

0

failed requests across every tested client level and core count

Read the complete benchmark report.

All measured points, proof checks, operations tests and reproduction notes.