Skip to content

Benchmarks

Fair, reproducible performance comparisons between Apache AGE and other graph databases.

Philosophy

Good benchmarks require:

  1. Equivalent setups - Both databases run in containers with similar resource limits
  2. Fair comparison methods - Use each database's recommended bulk import, not artificially slow methods
  3. Real-world data - Test with actual application datasets, not synthetic data
  4. Reproducibility - All code and data available for independent verification

Current Benchmarks

AGE vs ArangoDB (January 2025)

Tested with 1.6 million records from a production application.

MetricAGEArangoDBWinner
Bulk Import57.72s38.07sArangoDB (1.5x)
Point Lookup1.02ms5.44msAGE (5x)
Text Search1.64ms53.33msAGE (32x)
Edge Traversal145.90ms6.81msArangoDB (21x)

Read the full analysis →

Planned Benchmarks

  • [ ] Deep traversal (3+ hops) performance
  • [ ] Concurrent query throughput
  • [ ] Write-heavy workload comparison
  • [ ] Memory usage under load
  • [ ] Index performance comparison

Methodology

Test Environment

DatabaseContainer ImagePort
Apache AGEapache/age:release_PG17_1.6.05433
ArangoDBarangodb:3.118530

Import Methods

We use equivalent bulk methods for each database:

  • AGE: Batch INSERT (500 rows per statement)
  • ArangoDB: python-arango batch API

This ensures a fair comparison. Individual Cypher queries would unfairly penalize AGE.

Code & Data

Benchmark code and datasets will be published to:

Repository: github.com/age-forge/age-benchmarks (coming soon)

Request a Benchmark

Have a specific comparison you'd like to see? Open an issue on GitHub with:

  • The databases/query types you want compared
  • Your use case context
  • Any specific metrics you care about

Building the Apache AGE ecosystem