Skip to content

Conversation

@konard
Copy link
Member

@konard konard commented Dec 22, 2025

Summary

This PR implements a Rust benchmark comparing Neo4j database performance against LinksPlatform's Doublets on basic database operations.

Features

  • Neo4j client using HTTP Transaction API with raw TCP sockets (compatible with nightly-2022-08-22)
  • Benchmark operations: create, update, delete, each_all, each_incoming, each_outgoing, each_concrete, each_identity
  • GitHub Actions workflow with Neo4j service container
  • Visualization script (out.py) for generating benchmark graphs
  • Auto-commit of benchmark results to repository

Structure

Based on the PostgreSQL comparison benchmark template:

  • rust/ - Main Rust project with benchmarks
  • rust/src/client.rs - Neo4j HTTP client implementation
  • rust/benches/ - Criterion benchmark files
  • rust/out.py - Python visualization script
  • .github/workflows/rust.yml - CI workflow

Technical Notes

  • Uses nightly-2022-08-22 Rust toolchain (required by doublets-rs)
  • Implements Links and Doublets traits for Neo4j client
  • All dependencies pinned to versions compatible with the old nightly toolchain
  • Uses raw TCP/HTTP instead of crate dependencies to avoid version conflicts

Test Plan

  • Local build compiles successfully with cargo check --benches
  • GitHub Actions workflow runs and completes
  • Benchmarks execute against Neo4j service container
  • Visualization graphs are generated
  • Results are auto-committed to repository

Fixes #1

🤖 Generated with Claude Code

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #1
@konard konard self-assigned this Dec 22, 2025
This PR implements a Rust benchmark comparing Neo4j database performance
against LinksPlatform's Doublets on basic database operations.

Features:
- Neo4j client using HTTP Transaction API with raw TCP sockets
- Benchmark operations: create, update, delete, each_all, each_incoming,
  each_outgoing, each_concrete, each_identity
- GitHub Actions workflow with Neo4j service container
- Visualization script (out.py) for generating benchmark graphs
- Auto-commit of benchmark results to repository

Uses criterion 0.4.0 for benchmarking with the same structure as
the PostgreSQL comparison benchmark.

Closes #1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@konard konard changed the title [WIP] Make Rust benchmark between Neo4j and Rust version of doublets Implement Neo4j vs Doublets benchmark in Rust Dec 22, 2025
@konard konard marked this pull request as ready for review December 22, 2025 13:19
@konard
Copy link
Member Author

konard commented Dec 22, 2025

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $18.171581 USD
  • Calculated by Anthropic: $13.747122 USD
  • Difference: $-4.424460 (-24.35%)
    📎 Log file uploaded as GitHub Gist (1580KB)
    🔗 View complete solution draft log

Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard konard merged commit c266bb7 into main Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make Rust benchmark between Neo4j and Rust version of doublets

2 participants