Skip to content

perf(graph): extend canonical edges without repeated NodeId clones - #834

Merged
jonathanong merged 1 commit into
execute-plan/79dd0742-pr-3-fxhash-preparedrelationshipindex-constructionfrom
execute-plan/79dd0742-pr-4-reduce-nodeid-clones-in-selector-edge-append
Sep 5, 2026
Merged

perf(graph): extend canonical edges without repeated NodeId clones#834
jonathanong merged 1 commit into
execute-plan/79dd0742-pr-3-fxhash-preparedrelationshipindex-constructionfrom
execute-plan/79dd0742-pr-4-reduce-nodeid-clones-in-selector-edge-append

Conversation

@jonathanong

@jonathanong jonathanong commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Summary

extend_edges_preserving_ordinals now uses map entry/get_mut APIs and moves accepted CanonicalEdges into adjacency so selector append does not clone NodeId five times per edge. Ordinals stay base-then-new; duplicates are still skipped.

Local Criterion (source of truth)

Machine: macOS aarch64, rustc 1.96.0, --sample-size 20, NO_MISTAKES_BENCH_SHARD=graph-production. Same machine before/after. CodSpeed is not used as a gate. Peak memory was not printed by this Criterion run.

bench before (mean) after (mean) change
selector_append 55.646 ms 49.523 ms −11.0%
node_id_finalization (control; path unchanged) 27.663 ms 26.039 ms −5.0% (noise)
Shepherd Journal
  • CodSpeed regressions reported different runtime environments; local Criterion selector_append −11%. No code change.
  • First-look CodSpeed comment already minimized; different runtime environments; local Criterion selector_append −11%.
  • Codex quota comments IC_kwDOSaSRXM8AAAABStKgwA/IC_kwDOSaSRXM8AAAABStKiwA and Sourcery budget review PRR_kwDOSaSRXM8AAAABMTHoGg are bot-limit notices, not code findings; minimize only.
  • Codex quota comments IC_kwDOSaSRXM8AAAABStOecA/IC_kwDOSaSRXM8AAAABStQZ6A/IC_kwDOSaSRXM8AAAABStRqUQ are bot-limit notices; minimize only.
  • Codex quota comment IC_kwDOSaSRXM8AAAABStTN5g is a bot-limit notice; minimize only.
  • codecov/project/rust "No coverage information found on head" while native/Rust jobs are still inProgress is upload lag after restack, not a NodeId-clone defect.

@coderabbitai

This comment has been minimized.

@sourcery-ai

This comment has been minimized.

@codecov

This comment has been minimized.

@codspeed-hq

This comment has been minimized.

@jonathanong
jonathanong force-pushed the execute-plan/79dd0742-pr-4-reduce-nodeid-clones-in-selector-edge-append branch from 103510d to febafd0 Compare September 5, 2026 07:06
@jonathanong
jonathanong marked this pull request as ready for review September 5, 2026 07:27
sourcery-ai[bot]

This comment was marked as resolved.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector

This comment has been minimized.

@jonathanong
jonathanong force-pushed the execute-plan/79dd0742-pr-4-reduce-nodeid-clones-in-selector-edge-append branch from febafd0 to edfe5d8 Compare September 5, 2026 07:40
@chatgpt-codex-connector

This comment has been minimized.

@jonathanong
jonathanong force-pushed the execute-plan/79dd0742-pr-4-reduce-nodeid-clones-in-selector-edge-append branch from edfe5d8 to 68c58af Compare September 5, 2026 07:46
@chatgpt-codex-connector

This comment has been minimized.

@jonathanong
jonathanong force-pushed the execute-plan/79dd0742-pr-4-reduce-nodeid-clones-in-selector-edge-append branch from 68c58af to 1f94e2c Compare September 5, 2026 07:51
@chatgpt-codex-connector

This comment has been minimized.

Use map entry APIs and move accepted edges into adjacency so selector
append does not clone NodeId five times per edge.
@jonathanong
jonathanong force-pushed the execute-plan/79dd0742-pr-4-reduce-nodeid-clones-in-selector-edge-append branch from 1f94e2c to d6a55b7 Compare September 5, 2026 07:56
@chatgpt-codex-connector

This comment has been minimized.

@jonathanong
jonathanong merged commit 7b4c62e into main Sep 5, 2026
39 of 41 checks passed
@jonathanong
jonathanong deleted the execute-plan/79dd0742-pr-4-reduce-nodeid-clones-in-selector-edge-append branch September 5, 2026 09:18
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