Skip to content
Graph docs0.5

Graph operations benchmarks

Latest stable Based on Graph release 0.5.1

graph-benchmark covers backend CRUD/traversal, domain graphs, sustained writes, and sync/virtual-thread/coroutine API shapes. Read the pinned Gradle configuration, domain benchmark, and state.

Prerequisites are JDK 21 and Docker for Neo4j/Memgraph/AGE/FalkorDB lanes. Do not run other Testcontainers workloads concurrently.

Terminal window
./gradlew :graph-benchmark:mainGraphDomainWorkloadBenchmark --rerun-tasks --console=plain

This named configuration selects TinkerGraph, Neo4j, and Memgraph domain cases, uses 2 warmups, 4 measurement iterations, 2 seconds per iteration, and JSON output. JMH normally uses one fork unless overridden by the harness. Expected output contains avgt scores in ms/op; lower is better. Compare social, IAM, fraud, or code rows only when backend, size, parameters, and run metadata match.

The representative committed source is 2026-05-21 domain workload JSON. It is a local Testcontainers run, not a universal backend ranking. In-memory TinkerGraph and server databases have different persistence and transport boundaries.

Repeat the command at least three times on an idle machine, retain raw JSON, and inspect score error/intervals. Warmup reduces JIT effects; forks isolate JVM state; neither removes container, GC, filesystem, or thermal variance. Benchmark state teardown closes graph operations, drivers/pools, and containers; after interruption, verify no benchmark container remains before rerunning.

A missing JSON report means the benchmark task or teardown failed. A timeout should be preserved as failure evidence, not converted into a numeric score. This benchmark does not prove cluster failover, durability, production indexes, authorization, or cost. See overview and benchmark-based selection.

These diagrams are loaded directly from README assets published with the 0.5.1 release and pinned to its immutable commit. They describe this manual’s released structure and runtime flows, not later Snapshot changes. Select a preview to open the SVG at the same release commit.

graph-benchmark Architecture diagram

Release README: benchmark/graph-benchmark/README.md