Skip to content

BE-419: Fix cargo publish failures for darwin-kperf crates#8471

Open
indietyp wants to merge 6 commits into
mainfrom
bm/be-419-fix-cargo-publish-failures-for-darwin-kperf-crates
Open

BE-419: Fix cargo publish failures for darwin-kperf crates#8471
indietyp wants to merge 6 commits into
mainfrom
bm/be-419-fix-cargo-publish-failures-for-darwin-kperf-crates

Conversation

@indietyp

@indietyp indietyp commented Feb 23, 2026

Copy link
Copy Markdown
Member

🌟 What is the purpose of this PR?

This PR standardizes the dependency declarations for darwin-kperf workspace crates by migrating from path-only dependencies to workspace-managed dependencies with explicit versioning.

🔍 What does this change?

  • Converts darwin-kperf workspace dependencies from shorthand path syntax to full table syntax with version "0.1.1"
  • Updates darwin-kperf-criterion to use workspace = true for its darwin-kperf-events dependency instead of explicit path and version

Pre-Merge Checklist 🚀

🚢 Has this modified a publishable library?

This PR:

  • modifies a Cargo-publishable library and I have amended the version

📜 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 cargo build and test processes

❓ How to test this?

  1. Checkout the branch
  2. Run cargo check to verify dependency resolution
  3. Confirm that all darwin-kperf crates build successfully

@vercel

vercel Bot commented Feb 23, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
hash Ready Ready Preview, Comment Jun 12, 2026 7:23am
hashdotdesign Ready Ready Preview, Comment Jun 12, 2026 7:23am
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
hashdotdesign-tokens Ignored Ignored Preview Jun 12, 2026 7:23am
petrinaut Skipped Skipped Jun 12, 2026 7:23am

@cursor

cursor Bot commented Feb 23, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Manifest, lockfile, and documentation link changes only; no runtime or FFI code changes.

Overview
Fixes cargo publish for the publishable darwin-kperf crates by aligning workspace dependency metadata with what Cargo expects when publishing.

Workspace dependencies in the root Cargo.toml now use full { path = ..., version = "0.1.1" } entries instead of path-only shorthand for darwin-kperf, darwin-kperf-sys, darwin-kperf-events, and darwin-kperf-criterion. darwin-kperf-criterion resolves darwin-kperf-events via { workspace = true } rather than a local path + version override.

All related crates (including darwin-kperf-codegen and internal package.json versions) are bumped to 0.1.1, with Cargo.lock updated accordingly. Publishable sub-crates (sys, events, criterion) now set readme = "../README.md", and the README crate table links to crates.io instead of relative paths.

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

@github-actions github-actions Bot added the area/libs Relates to first-party libraries/crates/packages (area) label Feb 23, 2026

Copy link
Copy Markdown
Member Author

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

@augmentcode

augmentcode Bot commented Feb 23, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Standardizes darwin-kperf workspace dependency declarations by adding explicit versions alongside local paths to avoid cargo publish failures.

Change: Updates darwin-kperf-criterion to inherit darwin-kperf-events via workspace = true rather than an explicit path dependency.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

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.

@codspeed-hq

codspeed-hq Bot commented Feb 23, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 80 untouched benchmarks


Comparing bm/be-419-fix-cargo-publish-failures-for-darwin-kperf-crates (e973eaa) with main (a7f5460)1

Open in CodSpeed

Footnotes

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

@codecov

codecov Bot commented Feb 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.13%. Comparing base (f2b4309) to head (e973eaa).
⚠️ Report is 12 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8471      +/-   ##
==========================================
- Coverage   59.13%   59.13%   -0.01%     
==========================================
  Files        1346     1346              
  Lines      130077   130096      +19     
  Branches     5883     5883              
==========================================
+ Hits        76923    76930       +7     
- Misses      52248    52260      +12     
  Partials      906      906              
Flag Coverage Δ
apps.hash-ai-worker-ts 1.39% <ø> (ø)
apps.hash-api 0.00% <ø> (ø)
local.hash-backend-utils 2.81% <ø> (ø)
local.hash-graph-sdk 9.63% <ø> (ø)
local.hash-isomorphic-utils 0.00% <ø> (ø)
rust.hash-graph-api 2.51% <ø> (-0.01%) ⬇️
rust.hashql-ast 87.23% <ø> (ø)
rust.hashql-compiletest 28.26% <ø> (ø)
rust.hashql-core 79.28% <ø> (ø)
rust.hashql-eval 75.69% <ø> (ø)
rust.hashql-hir 89.06% <ø> (ø)
rust.hashql-mir 87.05% <ø> (ø)
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 Harness.
📢 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.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Comment thread Cargo.toml Outdated
Comment thread Cargo.toml
Comment on lines +62 to +65
darwin-kperf = { path = "libs/darwin-kperf", version = "0.1.1" }
darwin-kperf-criterion = { path = "libs/darwin-kperf/criterion", version = "0.1.1" }
darwin-kperf-events = { path = "libs/darwin-kperf/events", version = "0.1.1" }
darwin-kperf-sys = { path = "libs/darwin-kperf/sys", version = "0.1.1" }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These workspace dependency declarations specify version 0.1.1 for darwin-kperf packages, but when publishing to crates.io, the dependencies must be published before dependents. The CI pipeline needs to publish darwin-kperf-events and darwin-kperf-sys first (which have no dependencies), then darwin-kperf-criterion, and finally darwin-kperf.

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

[dependencies]
# Public workspace dependencies
darwin-kperf-events = { version = "0.1.0", path = "../events", public = true }
darwin-kperf-events = { workspace = true, public = true }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This dependency specification causes publishing to fail because cargo tries to resolve darwin-kperf-events ^0.1.1 from crates.io during publish, but only 0.1.0 exists there. The publishing order needs to ensure darwin-kperf-events 0.1.1 is published first, or the dependency should be specified with an explicit version that exists on crates.io.

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

@TimDiekmann

Copy link
Copy Markdown
Member

What's the status of this?

@indietyp indietyp force-pushed the bm/be-419-fix-cargo-publish-failures-for-darwin-kperf-crates branch from c57b1ad to 96d075f Compare June 12, 2026 07:09
Copilot AI review requested due to automatic review settings June 12, 2026 07:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the darwin-kperf Rust workspace crates to publish cleanly by aligning crate versions and moving workspace dependency declarations to explicit { path, version } entries so workspace = true dependencies resolve with a publishable version.

Changes:

  • Bumps darwin-kperf* crate/package versions from 0.1.0 to 0.1.1 (including Cargo.lock updates).
  • Updates root Cargo.toml workspace dependencies to use full table syntax with explicit version = "0.1.1".
  • Improves publish/readme behavior by adding readme = "../README.md" to publishable crates and updating the README crate links; switches darwin-kperf-criterion to darwin-kperf-events = { workspace = true }.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
libs/darwin-kperf/sys/package.json Bump JS package version to 0.1.1.
libs/darwin-kperf/sys/Cargo.toml Bump crate version to 0.1.1; add shared README path.
libs/darwin-kperf/README.md Update crate table formatting and link targets to crates.io.
libs/darwin-kperf/package.json Bump JS package version to 0.1.1.
libs/darwin-kperf/events/package.json Bump JS package version to 0.1.1.
libs/darwin-kperf/events/Cargo.toml Bump crate version to 0.1.1; add shared README path.
libs/darwin-kperf/criterion/package.json Bump JS package version to 0.1.1.
libs/darwin-kperf/criterion/Cargo.toml Bump crate version; add shared README; use workspace-managed darwin-kperf-events dep.
libs/darwin-kperf/codegen/package.json Bump private JS package version to 0.1.1-private.
libs/darwin-kperf/codegen/Cargo.toml Bump internal codegen crate version to 0.1.1.
libs/darwin-kperf/Cargo.toml Bump main crate version to 0.1.1.
Cargo.toml Switch darwin-kperf* workspace deps to { path, version } entries (0.1.1).
Cargo.lock Update locked versions for darwin-kperf* crates to 0.1.1.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Cargo.toml

Copy link
Copy Markdown
Member Author

What's the status of this?

I tabled this during my master's. The current issue is that publishing (dry-run) assumes that 0.1.1 has already been uploaded to the child crates, but they haven't. Leading to publishing CI to fail. Unsure how to solve this, any ideas?

@TimDiekmann

Copy link
Copy Markdown
Member

Hmm, I guess we need to publish them all at once?

Copy link
Copy Markdown
Member Author

I guess so, I'll look at the CI step to see how one might achieve that in a way that is maintainable.

@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 $$28.2 \mathrm{ms} \pm 198 \mathrm{μs}\left({\color{gray}0.779 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$3.48 \mathrm{ms} \pm 24.5 \mathrm{μs}\left({\color{gray}-3.300 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1001 $$13.2 \mathrm{ms} \pm 143 \mathrm{μs}\left({\color{gray}-1.016 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 3314 $$43.1 \mathrm{ms} \pm 334 \mathrm{μs}\left({\color{gray}-2.581 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$14.2 \mathrm{ms} \pm 126 \mathrm{μs}\left({\color{lightgreen}-9.145 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 1526 $$24.4 \mathrm{ms} \pm 226 \mathrm{μs}\left({\color{gray}-3.308 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 2078 $$29.6 \mathrm{ms} \pm 231 \mathrm{μs}\left({\color{gray}3.79 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.81 \mathrm{ms} \pm 21.3 \mathrm{μs}\left({\color{gray}-1.976 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 1033 $$14.5 \mathrm{ms} \pm 102 \mathrm{μs}\left({\color{red}8.25 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_medium

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 102 $$3.85 \mathrm{ms} \pm 36.3 \mathrm{μs}\left({\color{gray}0.969 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$3.04 \mathrm{ms} \pm 21.2 \mathrm{μs}\left({\color{gray}-2.441 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 51 $$3.43 \mathrm{ms} \pm 28.5 \mathrm{μs}\left({\color{gray}1.93 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 269 $$5.33 \mathrm{ms} \pm 34.8 \mathrm{μs}\left({\color{gray}-0.399 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$3.57 \mathrm{ms} \pm 20.2 \mathrm{μs}\left({\color{gray}-2.187 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 107 $$4.20 \mathrm{ms} \pm 34.0 \mathrm{μs}\left({\color{gray}-2.493 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 133 $$4.46 \mathrm{ms} \pm 30.7 \mathrm{μs}\left({\color{gray}-2.907 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.52 \mathrm{ms} \pm 21.6 \mathrm{μs}\left({\color{gray}-4.105 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 63 $$4.18 \mathrm{ms} \pm 35.9 \mathrm{μs}\left({\color{gray}-1.312 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_none

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2 $$2.62 \mathrm{ms} \pm 16.0 \mathrm{μs}\left({\color{gray}-1.783 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.52 \mathrm{ms} \pm 15.4 \mathrm{μs}\left({\color{gray}-1.723 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1 $$2.57 \mathrm{ms} \pm 13.9 \mathrm{μs}\left({\color{gray}-2.202 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 8 $$2.85 \mathrm{ms} \pm 14.1 \mathrm{μs}\left({\color{gray}-3.846 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.65 \mathrm{ms} \pm 15.7 \mathrm{μs}\left({\color{gray}-2.038 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 3 $$2.85 \mathrm{ms} \pm 20.4 \mathrm{μs}\left({\color{gray}-2.337 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_small

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 52 $$3.04 \mathrm{ms} \pm 19.1 \mathrm{μs}\left({\color{gray}-0.995 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.76 \mathrm{ms} \pm 12.6 \mathrm{μs}\left({\color{gray}-1.740 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 25 $$3.00 \mathrm{ms} \pm 14.0 \mathrm{μs}\left({\color{gray}-0.409 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 94 $$3.46 \mathrm{ms} \pm 22.5 \mathrm{μs}\left({\color{gray}-1.046 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$2.99 \mathrm{ms} \pm 17.4 \mathrm{μs}\left({\color{gray}-0.517 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 26 $$3.29 \mathrm{ms} \pm 21.1 \mathrm{μs}\left({\color{gray}-1.796 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 66 $$3.38 \mathrm{ms} \pm 18.3 \mathrm{μs}\left({\color{gray}0.397 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.94 \mathrm{ms} \pm 24.1 \mathrm{μs}\left({\color{gray}-1.772 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 29 $$3.31 \mathrm{ms} \pm 14.4 \mathrm{μs}\left({\color{gray}-2.593 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_complete

Function Value Mean Flame graphs
entity_by_id;one_depth 1 entities $$54.9 \mathrm{ms} \pm 341 \mathrm{μs}\left({\color{gray}-3.791 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 10 entities $$46.2 \mathrm{ms} \pm 248 \mathrm{μs}\left({\color{gray}-3.544 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 25 entities $$50.6 \mathrm{ms} \pm 302 \mathrm{μs}\left({\color{gray}-3.724 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 5 entities $$44.4 \mathrm{ms} \pm 253 \mathrm{μs}\left({\color{gray}-4.587 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 50 entities $$62.8 \mathrm{ms} \pm 381 \mathrm{μs}\left({\color{gray}-3.417 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 1 entities $$63.1 \mathrm{ms} \pm 347 \mathrm{μs}\left({\color{gray}-2.880 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 10 entities $$57.2 \mathrm{ms} \pm 439 \mathrm{μs}\left({\color{gray}-1.021 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 25 entities $$103 \mathrm{ms} \pm 596 \mathrm{μs}\left({\color{gray}-2.260 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 5 entities $$47.0 \mathrm{ms} \pm 301 \mathrm{μs}\left({\color{gray}-3.278 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 50 entities $$296 \mathrm{ms} \pm 944 \mathrm{μs}\left({\color{lightgreen}-9.412 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 1 entities $$19.8 \mathrm{ms} \pm 147 \mathrm{μs}\left({\color{gray}0.088 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 10 entities $$20.1 \mathrm{ms} \pm 124 \mathrm{μs}\left({\color{gray}-0.254 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 25 entities $$20.5 \mathrm{ms} \pm 126 \mathrm{μs}\left({\color{gray}-1.728 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 5 entities $$19.6 \mathrm{ms} \pm 178 \mathrm{μs}\left({\color{gray}0.284 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 50 entities $$25.5 \mathrm{ms} \pm 156 \mathrm{μs}\left({\color{gray}-0.683 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_linkless

Function Value Mean Flame graphs
entity_by_id 1 entities $$19.4 \mathrm{ms} \pm 128 \mathrm{μs}\left({\color{gray}-1.899 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10 entities $$19.4 \mathrm{ms} \pm 143 \mathrm{μs}\left({\color{gray}-0.278 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 100 entities $$19.5 \mathrm{ms} \pm 154 \mathrm{μs}\left({\color{gray}-2.191 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1000 entities $$20.4 \mathrm{ms} \pm 121 \mathrm{μs}\left({\color{gray}-0.094 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10000 entities $$26.7 \mathrm{ms} \pm 213 \mathrm{μs}\left({\color{gray}-0.783 \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 $$35.0 \mathrm{ms} \pm 295 \mathrm{μs}\left({\color{gray}-1.701 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 $$34.4 \mathrm{ms} \pm 307 \mathrm{μs}\left({\color{gray}-2.770 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 $$35.0 \mathrm{ms} \pm 385 \mathrm{μs}\left({\color{gray}-0.307 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 $$34.0 \mathrm{ms} \pm 338 \mathrm{μs}\left({\color{gray}-1.769 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 $$34.0 \mathrm{ms} \pm 310 \mathrm{μs}\left({\color{gray}-2.599 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 $$34.8 \mathrm{ms} \pm 310 \mathrm{μs}\left({\color{gray}-1.123 \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 324 \mathrm{μs}\left({\color{gray}-0.829 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 $$35.5 \mathrm{ms} \pm 352 \mathrm{μs}\left({\color{gray}0.582 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 $$35.2 \mathrm{ms} \pm 375 \mathrm{μs}\left({\color{gray}-2.868 \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.66 \mathrm{ms} \pm 47.4 \mathrm{μs}\left({\color{gray}-0.330 \mathrm{\%}}\right) $$ Flame Graph

representative_read_multiple_entities

Function Value Mean Flame graphs
entity_by_property traversal_paths=0 0 $$93.5 \mathrm{ms} \pm 484 \mathrm{μs}\left({\color{gray}-0.337 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=255 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true $$147 \mathrm{ms} \pm 505 \mathrm{μs}\left({\color{gray}-1.393 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$101 \mathrm{ms} \pm 583 \mathrm{μs}\left({\color{gray}0.296 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true $$112 \mathrm{ms} \pm 738 \mathrm{μs}\left({\color{gray}0.033 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true $$119 \mathrm{ms} \pm 686 \mathrm{μs}\left({\color{gray}-0.674 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$127 \mathrm{ms} \pm 728 \mathrm{μs}\left({\color{gray}0.223 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=0 0 $$104 \mathrm{ms} \pm 630 \mathrm{μs}\left({\color{gray}-0.483 \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 $$137 \mathrm{ms} \pm 807 \mathrm{μs}\left({\color{gray}2.86 \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 $$110 \mathrm{ms} \pm 638 \mathrm{μs}\left({\color{gray}-0.766 \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 $$121 \mathrm{ms} \pm 770 \mathrm{μs}\left({\color{gray}0.949 \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 472 \mathrm{μs}\left({\color{gray}0.396 \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 547 \mathrm{μs}\left({\color{gray}0.710 \mathrm{\%}}\right) $$

scenarios

Function Value Mean Flame graphs
full_test query-limited $$179 \mathrm{ms} \pm 2.30 \mathrm{ms}\left({\color{gray}-3.130 \mathrm{\%}}\right) $$ Flame Graph
full_test query-unlimited $$153 \mathrm{ms} \pm 1.02 \mathrm{ms}\left({\color{lightgreen}-21.887 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-limited $$40.5 \mathrm{ms} \pm 315 \mathrm{μs}\left({\color{lightgreen}-62.107 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-unlimited $$573 \mathrm{ms} \pm 1.68 \mathrm{ms}\left({\color{lightgreen}-7.891 \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) area/infra Relates to version control, CI, CD or IaC (area) area/libs Relates to first-party libraries/crates/packages (area)

Development

Successfully merging this pull request may close these issues.

3 participants