Check the v0.2 graph update: broader Cypher path coverage, multi-segment `shortestPath` and `allShortestPaths`, named paths across multiple variable-length segments, stronger undirected fast paths, runtime-observed graph `EXPLAIN`, Neo4j-oriented compatibility evidence, and a current benchmark snapshot vs Neo4j, SurrealDB, and pgstack. Read the full v0.2 breakdown.

v0.2 Performance Snapshot

This page is the short, product-facing performance snapshot for v0.2.

It is intentionally narrower than a full benchmark dashboard:

If you want the full benchmark machinery, use:

Snapshots used here

This page is based on two concrete local benchmark snapshots:

  1. Graph vs Neo4j
  1. CRUD refresh vs SurrealDB and pgstack
  1. Broader matrix vs SurrealDB and pgstack

The repository also contains ultra-compare, but this page is based on the two snapshots above because they are the current inspectable artifacts with actual results.

Graph vs Neo4j

The current v0.2 graph snapshot is strong on core traversals and graph scans.

All representative queries below kept result parity = true.

QueryAionDB p50Neo4j p50Relative result
out_depth10.546 ms9.595 msAionDB faster
out_depth20.512 ms7.457 msAionDB faster
out_depth30.407 ms4.698 msAionDB faster
in_depth10.653 ms4.476 msAionDB faster
edge_filter12.810 ms30.640 msAionDB faster
multi_out_where15.845 ms34.657 msAionDB faster
variable_len_40.549 ms6.024 msAionDB faster
shortest_path0.927 ms3.022 msAionDB faster

Read this correctly

This is not a claim that AionDB beats Neo4j on every graph workload.

It is a precise claim:

Broader matrix vs SurrealDB and pgstack

The broader matrix is mixed, which is exactly why this page keeps it separate.

Fresh CRUD snapshot from surreal-suite:

WorkloadAionDBSurrealDBpgstackRead
[C]reate203.8 ops/s197.0 ops/s486.4 ops/snear tie with SurrealDB; pgstack ahead
[R]ead1409.1 ops/s1840.3 ops/s4545.6 ops/sAionDB behind both, but same order of magnitude as SurrealDB
[U]pdate556.1 ops/s520.1 ops/s1128.1 ops/snear tie with SurrealDB; pgstack ahead

Representative broader graph/hybrid results from the full surreal-suite snapshot:

WorkloadAionDBSurrealDBpgstackRead
[S]can::count_all (2000)7819.5 ops/s168.85 ops/s1073.5 ops/sAionDB far ahead
[S]can::graph_edge_filter (2000)1056.55 ops/s219.0 ops/s446.55 ops/sAionDB ahead
[S]can::graph_bidirectional (2000)2874.1 ops/s1322.1 ops/s8.66 ops/sAionDB ahead
[S]can::graph_multi_count (2000)2597.4 ops/s22.82 ops/s532.8 ops/sAionDB ahead
[S]can::graph_multi_out (2000)328.9 ops/s341.9 ops/sUNSUPPORTEDnear tie, slight SurrealDB lead
[Complex]::graph_two_hop_filter_aggregate (5000)35.20 ops/sUNSUPPORTED0.35 ops/sAionDB ahead where supported
[Complex]::vector_join_graph_filter_rank (5000)61.15 ops/sUNSUPPORTED418.05 ops/spgstack ahead

What this means

The broader v0.2 picture is:

That is why v0.2 should be described as:

strong on a growing set of graph and hybrid graph/query shapes, but still mixed as a general benchmark matrix.

Not:

faster than Neo4j, PostgreSQL, and SurrealDB overall.

Current v0.2 performance read

If you want the short version:

Reproduce the snapshots

Current Neo4j graph snapshot:

python3 benchmarks/neo4j-graph-compare/run.py \
  --rows 5000 \
  --degree 4 \
  --warmup 2 \
  --iterations 6

Broader SurrealDB / pgstack matrix:

SURREAL_SUITE_ROWS=2000 \
SURREAL_SUITE_WARMUP_SECONDS=3 \
SURREAL_SUITE_ITERATIONS=1 \
SURREAL_SUITE_DURATION_SECONDS=20 \
benchmarks/run.sh surreal-suite

For claim discipline, keep: