Skip to content

perf(grpc_datasource): experiments with claude#1469

Draft
jensneuse wants to merge 1 commit into
masterfrom
claude-grpc-performance-experiments
Draft

perf(grpc_datasource): experiments with claude#1469
jensneuse wants to merge 1 commit into
masterfrom
claude-grpc-performance-experiments

Conversation

@jensneuse

@jensneuse jensneuse commented Apr 18, 2026

Copy link
Copy Markdown
Member

Just a random experiment to see what claude would optimize to get a feeling for what could be optimized.

…lback

Introduces DataSourceV2 — a compiled-IR gRPC datasource that processes
supported query shapes through a flat index-based response frame with
zero astjson round-trip, delegating unsupported shapes to V1. Alongside,
this branch contains nine phases of V1 optimizations (DependencyGraph
pool, jsonBuilder pool, arena reuse, pre-computed method names, etc.)
and the loader-side Value-returning DataSource refactor that both V1
and V2 benefit from.

Key changes:
- New V2 stack: v2_ir / v2_compile / v2_runtime / v2_frame / v2_schema
- Dual-backend schema runtime (generated proto + dynamicpb + hyperpb
  precompiled for reads)
- Fallback-with-reasons pattern: shapes outside MVP route to V1
- Paired V1/V2 parity tests + robustness test across federation shapes
- Loader refactor: DataSource returns *astjson.Value directly, skipping
  serialize/reparse round-trip
- V1 cleanup: removed hyperpb integration after benchmarks showed V2
  dynamicpb (231 allocs) beats V1+hyperpb (266 allocs)
- Deleted marshalplan.go, hyperpb_codec.go, and related dead code

Current V2 native coverage: CallKindStandard with no deps, CallKindResolve
with exactly one dep. CallKindEntity falls back pending _entities
array-merge across calls.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Apr 18, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: bb6bfff5-909f-4027-8827-818476f125cb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude-grpc-performance-experiments

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

1 participant