Skip to content

BE-573: Upgrade libp2p to 0.57.0 via git patch#8761

Merged
TimDiekmann merged 2 commits into
mainfrom
bm/be-573-fix-rust-dependency-vulnerabilities-from-dependabot-alerts
May 26, 2026
Merged

BE-573: Upgrade libp2p to 0.57.0 via git patch#8761
TimDiekmann merged 2 commits into
mainfrom
bm/be-573-fix-rust-dependency-vulnerabilities-from-dependabot-alerts

Conversation

@indietyp
Copy link
Copy Markdown
Member

🌟 What is the purpose of this PR?

This PR upgrades the rust-libp2p dependency stack to version 0.57.0, pinned to a specific git revision (86b2122c8ffdd636d0c939b0344bf59a35c97499) from the upstream repository. This brings in the latest libp2p crate versions across the board, including the newly added libp2p-gossipsub crate, and aligns all transitive dependencies accordingly.

🔗 Related links

🔍 What does this change?

  • Upgrades libp2p from 0.56.0 to 0.57.0 and pins all libp2p crates to git revision 86b2122c8ffdd636d0c939b0344bf59a35c97499
  • Adds libp2p-gossipsub 0.50.0 as a new dependency included in the libp2p feature set
  • Upgrades hickory-proto and hickory-resolver from 0.25.x to 0.26.x, adding the new hickory-net crate
  • Upgrades futures-bounded from 0.2.4 to 0.3.0, switching its timer backend from futures-timer to tokio
  • Upgrades hashlink from 0.10.0 to 0.11.0 (now backed by hashbrown 0.16)
  • Upgrades igd-next from 0.16.2 to 0.17.0
  • Upgrades x509-parser from 0.17.0 to 0.18.1
  • Replaces the dual prometheus-client versions (0.23.1 and 0.24.1) with a single 0.24.1 version
  • Removes the duplicate unsigned-varint 0.7.2 dependency, consolidating on 0.8.0
  • Adds jni 0.22.4 alongside the existing jni 0.21.1, required by the updated hickory crates
  • Downgrades wasm-bindgen and related crates from 0.2.118 to 0.2.108 to align with libp2p's requirements
  • Removes enum-as-inner as a transitive dependency (no longer needed by hickory-proto)
  • Adds async-channel, event-listener, event-listener-strategy, prefix-trie, ndk-context, simd_cesu8, hex_fmt, and send_wrapper as new transitive dependencies

Pre-Merge Checklist 🚀

🚢 Has this modified a publishable library?

This PR:

  • does not modify any publishable blocks or libraries, or modifications do not need publishing

📜 Does this require a change to the docs?

The changes in this PR:

  • are internal and do not require a docs change

🕸️ Does this require a change to the Turbo Graph?

The changes in this PR:

  • do not affect the execution graph

🛡 What tests cover this?

  • Existing networking and libp2p integration tests

❓ How to test this?

  1. Checkout the branch
  2. Run cargo build to confirm the dependency tree resolves correctly
  3. Run the existing networking test suite to confirm libp2p functionality is unaffected

@vercel
Copy link
Copy Markdown

vercel Bot commented May 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hash Ready Ready Preview, Comment May 26, 2026 7:04pm
hashdotdesign-tokens Ready Ready Preview, Comment May 26, 2026 7:04pm
petrinaut Ready Ready Preview, Comment May 26, 2026 7:04pm

@cursor
Copy link
Copy Markdown

cursor Bot commented May 26, 2026

PR Summary

Medium Risk
Touches core P2P, DNS, TLS, and QUIC transitive stacks used by harpc networking; risk is dependency drift and runtime behavior, mitigated by existing integration tests rather than code edits here.

Overview
Upgrades the workspace libp2p stack from 0.56 to 0.57 by bumping workspace dependency versions and adding [patch.crates-io] entries that pin the full libp2p family to upstream git revision 86b2122c8ffdd636d0c939b0344bf59a35c97499, so builds resolve against that snapshot instead of crates.io.

Cargo.lock shifts with the new graph: libp2p-gossipsub appears as a dependency of the umbrella crate, hickory DNS moves to 0.26 (including hickory-net), and several transitive crates align (e.g. futures-bounded 0.3 with tokio, consolidated prometheus-client / unsigned-varint, wasm-bindgen pulled to 0.2.108). No application Rust sources change in this diff—only workspace manifests and the lockfile.

Reviewed by Cursor Bugbot for commit dd6bf38. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions github-actions Bot added the area/deps Relates to third-party dependencies (area) label May 26, 2026
Copy link
Copy Markdown
Member Author

indietyp commented May 26, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.96%. Comparing base (cb459a8) to head (dd6bf38).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8761      +/-   ##
==========================================
+ Coverage   58.81%   58.96%   +0.15%     
==========================================
  Files        1328     1340      +12     
  Lines      126811   129010    +2199     
  Branches     5790     5832      +42     
==========================================
+ Hits        74580    76077    +1497     
- Misses      51350    52035     +685     
- Partials      881      898      +17     
Flag Coverage Δ
apps.hash-ai-worker-ts 1.41% <ø> (ø)
apps.hash-api 0.00% <ø> (ø)
blockprotocol.type-system 40.84% <ø> (ø)
local.claude-hooks 0.00% <ø> (ø)
local.harpc-client 51.24% <ø> (ø)
local.hash-backend-utils 2.81% <ø> (ø)
local.hash-graph-sdk 9.63% <ø> (ø)
local.hash-isomorphic-utils 0.00% <ø> (ø)
rust.antsi 0.00% <ø> (ø)
rust.error-stack 90.87% <ø> (ø)
rust.harpc-codec 84.70% <ø> (ø)
rust.harpc-net 96.18% <ø> (-0.05%) ⬇️
rust.harpc-tower 67.03% <ø> (ø)
rust.harpc-types 0.00% <ø> (ø)
rust.harpc-wire-protocol 92.23% <ø> (ø)
rust.hash-codec 72.76% <ø> (ø)
rust.hash-graph-api 2.52% <ø> (ø)
rust.hash-graph-authorization 62.34% <ø> (ø)
rust.hash-graph-postgres-store 26.74% <ø> (-0.07%) ⬇️
rust.hash-graph-store 37.76% <ø> (ø)
rust.hash-graph-temporal-versioning 47.95% <ø> (ø)
rust.hash-graph-types 0.00% <ø> (ø)
rust.hash-graph-validation 83.45% <ø> (ø)
rust.hashql-ast 87.23% <ø> (ø)
rust.hashql-compiletest 28.26% <ø> (-1.38%) ⬇️
rust.hashql-core 79.25% <ø> (ø)
rust.hashql-diagnostics 72.53% <ø> (ø)
rust.hashql-eval 75.88% <ø> (-1.66%) ⬇️
rust.hashql-hir 89.06% <ø> (ø)
rust.hashql-mir 86.76% <ø> (ø)
rust.hashql-syntax-jexpr 94.06% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented May 26, 2026

Merging this PR will not alter performance

✅ 80 untouched benchmarks


Comparing bm/be-573-fix-rust-dependency-vulnerabilities-from-dependabot-alerts (dd6bf38) with main (f9d6417)1

Open in CodSpeed

Footnotes

  1. No successful run was found on main (77925d8) during the generation of this report, so f9d6417 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 26, 2026

🤖 Augment PR Summary

Summary: This PR upgrades the Rust libp2p dependency stack to align the repo with rust-libp2p v0.57.0.

Changes:

  • Bumps workspace dependency versions for libp2p and key subcrates (core/identity/ping/stream/swarm/yamux) to the 0.57.0-era releases.
  • Upgrades multistream-select to 0.14.0 to match the updated libp2p ecosystem.
  • Adds a comprehensive [patch.crates-io] section to pin libp2p and related crates to a specific upstream git revision (86b2122 6).
  • Keeps default-features = false on the workspace dependency declarations to preserve current feature selection behavior.

Technical Notes: The git patching ensures a single, consistent libp2p crate set is used across the workspace, avoiding mixed-source/mixed-version resolution when transitive crates pull in libp2p components.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@TimDiekmann TimDiekmann added this pull request to the merge queue May 26, 2026
Merged via the queue into main with commit eff686d May 26, 2026
179 checks passed
@TimDiekmann TimDiekmann deleted the bm/be-573-fix-rust-dependency-vulnerabilities-from-dependabot-alerts branch May 26, 2026 19:31
@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results

@rust/hash-graph-benches – Integrations

policy_resolution_large

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2002 $$26.9 \mathrm{ms} \pm 157 \mathrm{μs}\left({\color{gray}3.92 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$3.56 \mathrm{ms} \pm 24.4 \mathrm{μs}\left({\color{gray}2.97 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1001 $$13.9 \mathrm{ms} \pm 87.1 \mathrm{μs}\left({\color{gray}4.10 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 3314 $$44.8 \mathrm{ms} \pm 315 \mathrm{μs}\left({\color{gray}-0.375 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$15.1 \mathrm{ms} \pm 134 \mathrm{μs}\left({\color{gray}-4.036 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 1526 $$25.3 \mathrm{ms} \pm 243 \mathrm{μs}\left({\color{gray}4.21 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 2078 $$27.7 \mathrm{ms} \pm 164 \mathrm{μs}\left({\color{gray}1.34 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.77 \mathrm{ms} \pm 19.0 \mathrm{μs}\left({\color{gray}-0.905 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 1033 $$14.7 \mathrm{ms} \pm 76.8 \mathrm{μs}\left({\color{gray}0.935 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_medium

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 102 $$3.76 \mathrm{ms} \pm 20.7 \mathrm{μs}\left({\color{gray}-2.065 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$3.07 \mathrm{ms} \pm 17.6 \mathrm{μs}\left({\color{gray}-0.987 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 51 $$3.39 \mathrm{ms} \pm 19.0 \mathrm{μs}\left({\color{gray}-2.474 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 269 $$5.14 \mathrm{ms} \pm 25.2 \mathrm{μs}\left({\color{gray}-3.497 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$3.57 \mathrm{ms} \pm 14.1 \mathrm{μs}\left({\color{gray}-2.610 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 107 $$4.15 \mathrm{ms} \pm 25.2 \mathrm{μs}\left({\color{gray}-3.836 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 133 $$4.46 \mathrm{ms} \pm 23.3 \mathrm{μs}\left({\color{gray}-3.954 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.49 \mathrm{ms} \pm 13.8 \mathrm{μs}\left({\color{gray}-3.052 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 63 $$4.19 \mathrm{ms} \pm 20.4 \mathrm{μs}\left({\color{lightgreen}-5.451 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_none

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2 $$2.77 \mathrm{ms} \pm 11.9 \mathrm{μs}\left({\color{gray}-0.209 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.73 \mathrm{ms} \pm 14.0 \mathrm{μs}\left({\color{gray}-0.054 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1 $$2.84 \mathrm{ms} \pm 12.5 \mathrm{μs}\left({\color{gray}-0.138 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 8 $$3.13 \mathrm{ms} \pm 15.4 \mathrm{μs}\left({\color{gray}0.238 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.99 \mathrm{ms} \pm 17.8 \mathrm{μs}\left({\color{gray}-0.365 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 3 $$3.25 \mathrm{ms} \pm 15.6 \mathrm{μs}\left({\color{gray}0.104 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_small

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 52 $$3.18 \mathrm{ms} \pm 20.7 \mathrm{μs}\left({\color{gray}1.54 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.85 \mathrm{ms} \pm 12.7 \mathrm{μs}\left({\color{gray}-1.570 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 25 $$3.02 \mathrm{ms} \pm 18.6 \mathrm{μs}\left({\color{gray}-0.791 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 94 $$3.53 \mathrm{ms} \pm 20.7 \mathrm{μs}\left({\color{gray}-0.099 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$3.13 \mathrm{ms} \pm 11.3 \mathrm{μs}\left({\color{gray}-1.078 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 26 $$3.32 \mathrm{ms} \pm 13.3 \mathrm{μs}\left({\color{gray}-3.007 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 66 $$3.49 \mathrm{ms} \pm 21.1 \mathrm{μs}\left({\color{gray}-0.673 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.11 \mathrm{ms} \pm 14.5 \mathrm{μs}\left({\color{gray}-3.168 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 29 $$3.35 \mathrm{ms} \pm 14.5 \mathrm{μs}\left({\color{gray}-2.034 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_complete

Function Value Mean Flame graphs
entity_by_id;one_depth 1 entities $$45.6 \mathrm{ms} \pm 168 \mathrm{μs}\left({\color{gray}-1.079 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 10 entities $$83.7 \mathrm{ms} \pm 325 \mathrm{μs}\left({\color{gray}-0.134 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 25 entities $$48.8 \mathrm{ms} \pm 159 \mathrm{μs}\left({\color{lightgreen}-5.445 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 5 entities $$53.1 \mathrm{ms} \pm 371 \mathrm{μs}\left({\color{gray}-1.276 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 50 entities $$61.2 \mathrm{ms} \pm 363 \mathrm{μs}\left({\color{gray}-1.475 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 1 entities $$47.0 \mathrm{ms} \pm 175 \mathrm{μs}\left({\color{gray}-0.749 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 10 entities $$421 \mathrm{ms} \pm 692 \mathrm{μs}\left({\color{gray}3.89 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 25 entities $$103 \mathrm{ms} \pm 444 \mathrm{μs}\left({\color{gray}2.09 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 5 entities $$86.3 \mathrm{ms} \pm 410 \mathrm{μs}\left({\color{gray}1.17 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 50 entities $$298 \mathrm{ms} \pm 1.11 \mathrm{ms}\left({\color{gray}0.566 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 1 entities $$20.4 \mathrm{ms} \pm 100 \mathrm{μs}\left({\color{gray}-1.180 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 10 entities $$21.4 \mathrm{ms} \pm 115 \mathrm{μs}\left({\color{gray}-0.372 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 25 entities $$21.1 \mathrm{ms} \pm 96.2 \mathrm{μs}\left({\color{gray}-3.973 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 5 entities $$21.1 \mathrm{ms} \pm 75.4 \mathrm{μs}\left({\color{gray}-3.512 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 50 entities $$25.3 \mathrm{ms} \pm 139 \mathrm{μs}\left({\color{gray}-2.183 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_linkless

Function Value Mean Flame graphs
entity_by_id 1 entities $$20.2 \mathrm{ms} \pm 125 \mathrm{μs}\left({\color{gray}-3.467 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10 entities $$20.1 \mathrm{ms} \pm 102 \mathrm{μs}\left({\color{gray}-4.101 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 100 entities $$19.8 \mathrm{ms} \pm 91.3 \mathrm{μs}\left({\color{gray}-3.926 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1000 entities $$20.5 \mathrm{ms} \pm 153 \mathrm{μs}\left({\color{gray}-1.414 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10000 entities $$27.8 \mathrm{ms} \pm 247 \mathrm{μs}\left({\color{gray}2.10 \mathrm{\%}}\right) $$ Flame Graph

representative_read_entity

Function Value Mean Flame graphs
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/block/v/1 $$36.5 \mathrm{ms} \pm 256 \mathrm{μs}\left({\color{gray}2.62 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 $$36.6 \mathrm{ms} \pm 279 \mathrm{μs}\left({\color{gray}1.83 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 $$36.8 \mathrm{ms} \pm 302 \mathrm{μs}\left({\color{gray}3.93 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 $$36.4 \mathrm{ms} \pm 248 \mathrm{μs}\left({\color{gray}1.55 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 $$34.4 \mathrm{ms} \pm 259 \mathrm{μs}\left({\color{lightgreen}-7.702 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 $$35.6 \mathrm{ms} \pm 287 \mathrm{μs}\left({\color{gray}-1.265 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1 $$34.8 \mathrm{ms} \pm 233 \mathrm{μs}\left({\color{gray}-3.653 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 $$33.7 \mathrm{ms} \pm 273 \mathrm{μs}\left({\color{lightgreen}-5.664 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 $$34.2 \mathrm{ms} \pm 247 \mathrm{μs}\left({\color{gray}-3.216 \mathrm{\%}}\right) $$ Flame Graph

representative_read_entity_type

Function Value Mean Flame graphs
get_entity_type_by_id Account ID: bf5a9ef5-dc3b-43cf-a291-6210c0321eba $$8.61 \mathrm{ms} \pm 45.4 \mathrm{μs}\left({\color{gray}-1.443 \mathrm{\%}}\right) $$ Flame Graph

representative_read_multiple_entities

Function Value Mean Flame graphs
entity_by_property traversal_paths=0 0 $$93.6 \mathrm{ms} \pm 533 \mathrm{μs}\left({\color{gray}-1.668 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=255 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true $$151 \mathrm{ms} \pm 560 \mathrm{μs}\left({\color{gray}3.89 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$106 \mathrm{ms} \pm 716 \mathrm{μs}\left({\color{gray}3.37 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true $$115 \mathrm{ms} \pm 540 \mathrm{μs}\left({\color{gray}2.59 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true $$123 \mathrm{ms} \pm 616 \mathrm{μs}\left({\color{gray}0.410 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$132 \mathrm{ms} \pm 695 \mathrm{μs}\left({\color{gray}4.88 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=0 0 $$106 \mathrm{ms} \pm 562 \mathrm{μs}\left({\color{gray}3.26 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=255 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true $$134 \mathrm{ms} \pm 475 \mathrm{μs}\left({\color{gray}0.751 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$112 \mathrm{ms} \pm 481 \mathrm{μs}\left({\color{gray}-0.032 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true $$120 \mathrm{ms} \pm 497 \mathrm{μs}\left({\color{gray}0.221 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true $$122 \mathrm{ms} \pm 462 \mathrm{μs}\left({\color{gray}0.584 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$123 \mathrm{ms} \pm 478 \mathrm{μs}\left({\color{gray}1.48 \mathrm{\%}}\right) $$

scenarios

Function Value Mean Flame graphs
full_test query-limited $$150 \mathrm{ms} \pm 531 \mathrm{μs}\left({\color{red}5.96 \mathrm{\%}}\right) $$ Flame Graph
full_test query-unlimited $$159 \mathrm{ms} \pm 462 \mathrm{μs}\left({\color{red}5.38 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-limited $$109 \mathrm{ms} \pm 552 \mathrm{μs}\left({\color{gray}0.508 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-unlimited $$597 \mathrm{ms} \pm 3.44 \mathrm{ms}\left({\color{gray}0.879 \mathrm{\%}}\right) $$ Flame Graph

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/deps Relates to third-party dependencies (area)

Development

Successfully merging this pull request may close these issues.

2 participants