AGE and Neo4j standalone benchmarks
Latest stable Based on Graph release 0.5.1
Comparable boundary
Section titled “Comparable boundary”The standalone projects measure the same small vertex/traversal shape through different drivers: AGE uses PostgreSQL JDBC, HikariCP, Exposed, and an AGE Testcontainer; Neo4j uses the Java driver and a Neo4j Testcontainer. Sources: AGE state, Neo4j state, and wrapper.
Prerequisites: JDK 21, Docker, release commit 3e0fa7cb9e3bc70c2743aeebda2487f3e45e4907, and no concurrent container benchmark.
./gradlew :graph-age-benchmark:benchmark --rerun-tasks --console=plain./gradlew :graph-neo4j-benchmark:benchmark --rerun-tasks --console=plainscripts/benchmark-neo4j-age.shEach Gradle project configures 3 warmups, 5 measurements, 3 seconds per iteration, JSON format, and the harness default fork count. Reports are under benchmark/graph-{age,neo4j}-benchmark/build/reports/benchmarks/main/. The wrapper normalizes source units to us/op and emits one JSON object on the final stdout line. Lower latency is better.
No standalone 0.5.1 result file is committed for a controlled head-to-head run, so this page invents no number. Reproduce both serially on the same idle host and retain both raw reports plus the wrapper summary. The shared committed small backend run is representative evidence only when its exact conditions are kept.
Interpretation and cleanup
Section titled “Interpretation and cleanup”Compare only matching operation, parameters, unit, warmup, iterations, fork, fixture, and host. An arithmetic mean across unlike operations is a transport summary, not a backend ranking. Teardown must close operations, JDBC pool/driver, and container. After cancellation, remove only containers created by the run after identifying them.
Container startup failure, AGE extension initialization failure, Bolt readiness failure, or missing JSON is a failed run, not a score. These benchmarks do not prove PostgreSQL consolidation value, Neo4j operational maturity, HA, recovery, cloud network cost, or production query plans. Read AGE backend, Neo4j/Memgraph, and overview.
Release diagrams
Section titled “Release diagrams”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-age-benchmark Architecture diagram
Section titled “graph-age-benchmark Architecture diagram”Release README: benchmark/graph-age-benchmark/README.md
graph-neo4j-benchmark Architecture diagram
Section titled “graph-neo4j-benchmark Architecture diagram”Release README: benchmark/graph-neo4j-benchmark/README.md

