# 8DB and Neo4j: CYC34 public measurement extract

Prepared 2026-09-13 from the September 8 CYC34 report and raw metric log, with configuration context from CYC33. No benchmark was rerun for publication. This is an internally measured, source-and-log-reviewed comparison of a narrow operation, not an official LDBC score or independent certification.

## Result

Person ID to inline profile, eight workers and one in-flight request per worker on each side. No pipelining in this comparison row.

| Arm | Round 1 | Round 2 | Round 3 | Statistic used |
|---|---:|---:|---:|---:|
| 8DB, Rust binary client over UDS | 218,000/s | 209,000/s | 223,000/s | Median: 218,000/s |
| Neo4j, Python Bolt client over TCP | 991/s | 3,410/s | 3,325/s | Best: 3,410/s |

The reported ratio is approximately 64×, using the 8DB median and the Neo4j best round. This is not a median-to-median comparison. [The complete metric log](neo4j-cyc34-raw.log) includes all five measured arms, including the other concurrency and batch configurations, without dropping any round. Those other configurations are not substituted into this eight-worker comparison.

## Method and limits

- Measured 2026-09-08. Raw timestamps run 11:55:19–11:57:03 local; they are not UTC timestamps.
- MacBook Pro M1, 4 performance and 4 efficiency cores, 16 GB RAM. 8DB binary commit `2aacb496`. Neo4j `2026.07.1`, Homebrew, 2 GB heap and 1 GB page cache.
- One million Person records, offline imported into Neo4j, with an online `person_id` range index and warm cache. The CYC33 source supplies this continuing method; CYC34 records the changed 8DB binary and transport.
- This is a simplified IS1-shaped point lookup. Neither side executes the full IS1 city join. It is not a traversal workload or a result for the complete LDBC suite.
- 8DB returns a 100-byte value blob for an 8-byte key through a Rust client. Neo4j returns three properties through indexed Cypher, cached plans and the Python Bolt driver. Protocol, client runtime and returned representations differ. The ratio does not isolate an engine-only effect.
- 8DB uses SimulatedIo; the Neo4j working set is page-cache resident. This is not a durable graph workload.
- Both arms check returned values. All checks in the enclosed raw log report `bad=0`.
- Load was approximately 7.84 at the start and rose to around 24–32 during the interleaved sweep. This is a loaded-machine result. The publication does not infer an unloaded speedup or accept the source report's extrapolations about universal CPU ceilings.
- The record does not establish that all 8DB security, encryption, governance or mesh features were active during timing.

The source names `ldbc_opt_sweep.sh` as the interleaved five-arm script and `neo4j_is1_bench.py` as the Neo4j measurement path. This attachment supplies readable evidence, not the private engine or a complete runnable reproduction environment. The older 148× claim compared an in-process 8DB benchmark with a wire client and was explicitly corrected in CYC33; it is not used here.

## Provenance and publication treatment

Original CYC34 report: `M1-CYC34-LDBC-IS1-OPTIMIZED.md`.
Report source-text SHA-256: `b38243009fff011373574072e156a84d68abe9e9cd6a4340cab16b7d7edf0cf5`.
Original raw log: `8db-ldbc-opt-sweep.log`.
Log source-text SHA-256: `446c6a55a189518878bfba697846ffc62083289c70957097f318a1a88f7e6bee`.
Continuing method report: `M1-CYC33-LDBC-IS1-VS-NEO4J.md`.
Method source-text SHA-256: `cb72ead98510a53a0136cbef2f3770d97172ab8888c4f0a15338d5fee6b1bf3d`.

These source-text hashes cover the exact UTF-8 encoding of the readable content returned by the Google Drive connector. They are not a claim about unverified original upload bytes. The published raw text preserves that complete returned text unchanged, including every metric row and arm. Manual review found no credentials, personal paths or private user information in it; no redactions were necessary. The report is a newly written extract that omits internal workflow context and unmeasured extrapolations while retaining the known method differences. See [manifest.json](manifest.json).
