Skip to content

Update Petrinaut toolchain: Vite 8.0.16, tsgo 20260607, React 19.2.7#8863

Open
kube wants to merge 1 commit into
mainfrom
cf/petrinaut-setup-updates-june
Open

Update Petrinaut toolchain: Vite 8.0.16, tsgo 20260607, React 19.2.7#8863
kube wants to merge 1 commit into
mainfrom
cf/petrinaut-setup-updates-june

Conversation

@kube

@kube kube commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

🌟 What is the purpose of this PR?

  • Bump vite, vitest, @vitejs/plugin-react, storybook, jsdom, rolldown 1.0.3 (matches vite's internal pin), rolldown-plugin-dts 0.25.2, @rolldown/plugin-babel and @typescript/native-preview across @hashintel/petrinaut, @hashintel/petrinaut-core and @apps/petrinaut-website
  • typescript 5.9.3 -> 6.0.3 for the petrinaut-core in-browser LSP runtime
  • react/react-dom 19.2.6 -> 19.2.7 monorepo-wide (required by the root resolutions pin that guarantees a single React copy)
  • Add explicit @babel/core devDep for the React Compiler babel pass
  • Extend yarn constraints ignoredDependencies for the new petrinaut-ahead forks (typescript, jsdom, @types/react, tsgo, rolldown-plugin-dts, @rolldown/plugin-babel)
  • Document why the dts fake-js enforce: "pre" remap must stay: the upstream-recommended oxc.exclude setup (rolldown-plugin-dts#201) emits dts chunks without their local declarations

React Compiler stays on babel-plugin-react-compiler: the Rust port is in oxc 0.135 but not yet shipped in rolldown (rolldown#9671 still draft) nor reachable from stable Vite.

🔗 Related links

  • ...

🚫 Blocked by

  • ...

🔍 What does this change?

  • ...

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
  • modifies an npm-publishable library and I have added a changeset file(s)
  • modifies a Cargo-publishable library and I have amended the version
  • modifies a Cargo-publishable library, but it is not yet ready to publish
  • modifies a block that will need publishing via GitHub action once merged
  • I am unsure / need advice

📜 Does this require a change to the docs?

The changes in this PR:

  • are internal and do not require a docs change
  • are in a state where docs changes are not yet required but will be
  • require changes to docs which are made as part of this PR
  • require changes to docs which are not made in this PR
    • Provide more detail here
  • I am unsure / need advice

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

The changes in this PR:

  • do not affect the execution graph
  • affected the execution graph, and the turbo.json's have been updated to reflect this
  • I am unsure / need advice

⚠️ Known issues

🐾 Next steps

🛡 What tests cover this?

❓ How to test this?

  1. Checkout the branch / view the deployment
  2. Try X
  3. Confirm that Y

📹 Demo

Copilot AI review requested due to automatic review settings June 12, 2026 13:31
@vercel

vercel Bot commented Jun 12, 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 2:18pm
hashdotdesign-tokens Ready Ready Preview, Comment Jun 12, 2026 2:18pm
petrinaut Ready Ready Preview, Comment Jun 12, 2026 2:18pm

@cursor

cursor Bot commented Jun 12, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Medium risk from build-tool upgrades (Vite 8, rolldown-plugin-dts, jsdom 29) and TypeScript 6 in petrinaut-core's LSP bundle; React patch bump is low risk but touches many apps.

Overview
This PR bumps the Petrinaut/Vite 8 toolchain and aligns React across the monorepo.

Petrinaut stack (petrinaut, petrinaut-core, petrinaut-website, refractive): Vite 8.0.16, rolldown 1.0.3, rolldown-plugin-dts 0.25.2, @rolldown/plugin-babel 0.2.3, @vitejs/plugin-react 6.0.2, Storybook 10.4.2, vitest 4.1.8, jsdom 29, and @typescript/native-preview (tsgo) to 20260607.1. petrinaut-core moves typescript to 6.0.3 for the in-browser LSP worker. Explicit @babel/core devDeps support the React Compiler Babel pass.

Monorepo-wide: react / react-dom 19.2.6 → 19.2.7 via root resolutions and workspace package.json files.

Build config: Comments in petrinaut-core, petrinaut, and refractive vite.config.ts explain why the rolldown-plugin-dts fake-js plugin must keep enforce: "pre"—the upstream oxc.exclude approach drops local .d.ts content on Vite 8.

Yarn constraints: yarn.config.cjs adds @types/react, typescript, and jsdom to ignoredDependencies so Petrinaut can stay ahead of the rest of the repo without constraint failures.

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

@github-actions github-actions Bot added area/deps Relates to third-party dependencies (area) area/apps > hash* Affects HASH (a `hash-*` app) area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team type/eng > backend Owned by the @backend team area/apps area/apps > hash.design Affects the `hash.design` design site (app) labels Jun 12, 2026

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

Updates the Petrinaut (and related) frontend toolchain dependency set, aligning the monorepo on React 19.2.7 and moving Petrinaut build/test tooling forward (Vite 8.0.16, Storybook 10.4.2, rolldown 1.0.3, jsdom 29.1.1, and tsgo via @typescript/native-preview 20260607).

Changes:

  • Bump React / React DOM from 19.2.6 → 19.2.7 across the repo (including root resolutions).
  • Upgrade Petrinaut / Petrinaut Core / Petrinaut Website toolchain deps (Vite/Vitest, Storybook, rolldown + dts plugin, jsdom, @typescript/native-preview) and add explicit @babel/core for the React Compiler Babel pass.
  • Extend Yarn constraints ignore list for Petrinaut-ahead dependencies and add comments documenting the continued need for the enforce: "pre" DTS remap in Vite 8.

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated no comments.

Show a summary per file
File Description
yarn.lock Locks updated versions for React 19.2.7 and the Petrinaut toolchain bumps (Vite/Vitest/Storybook/rolldown/jsdom/TS).
yarn.config.cjs Extends constraints ignore list for Petrinaut-ahead dependencies (rolldown-plugin-dts, native-preview, @types/react, typescript, jsdom, etc.).
package.json Updates root resolutions for react/react-dom to 19.2.7.
libs/@local/hash-isomorphic-utils/package.json Bumps React to 19.2.7.
libs/@local/advanced-types/package.json Bumps React to 19.2.7.
libs/@hashintel/type-editor/package.json Bumps React/React DOM to 19.2.7.
libs/@hashintel/query-editor/package.json Bumps React/React DOM to 19.2.7.
libs/@hashintel/petrinaut/vite.config.ts Adds documentation about why the enforce: "pre" DTS remap must remain under Vite 8.
libs/@hashintel/petrinaut/package.json Updates Petrinaut toolchain deps (Vite/Vitest/Storybook/rolldown/jsdom/native-preview) and adds @babel/core.
libs/@hashintel/petrinaut-core/vite.config.ts Adds documentation about why the enforce: "pre" DTS remap must remain under Vite 8.
libs/@hashintel/petrinaut-core/package.json Updates Petrinaut Core toolchain deps and bumps TypeScript to 6.0.3 for the in-browser LSP runtime.
libs/@hashintel/ds-components/package.json Bumps React/React DOM to 19.2.7.
libs/@hashintel/design-system/package.json Bumps React/React DOM to 19.2.7.
libs/@hashintel/block-design-system/package.json Bumps React/React DOM to 19.2.7.
libs/@blockprotocol/type-system/typescript/package.json Bumps React to 19.2.7.
apps/plugin-browser/package.json Bumps React/React DOM to 19.2.7.
apps/petrinaut-website/package.json Updates Petrinaut Website deps (React + Vite/plugin-react/native-preview) and adds @babel/core.
apps/hash-frontend/package.json Bumps React/React DOM to 19.2.7.

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

@codecov

codecov Bot commented Jun 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.15%. Comparing base (bf6fe44) to head (b7f57f6).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8863   +/-   ##
=======================================
  Coverage   59.15%   59.15%           
=======================================
  Files        1346     1346           
  Lines      130117   130117           
  Branches     5883     5883           
=======================================
+ Hits        76975    76976    +1     
+ Misses      52237    52236    -1     
  Partials      905      905           
Flag Coverage Δ
apps.hash-ai-worker-ts 1.39% <ø> (ø)
apps.hash-api 0.00% <ø> (ø)
blockprotocol.type-system 40.84% <ø> (ø)
local.claude-hooks 0.00% <ø> (ø)
local.harpc-client 51.49% <ø> (ø)
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.19% <ø> (+0.01%) ⬆️
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.51% <ø> (ø)
rust.hash-graph-authorization 62.34% <ø> (ø)
rust.hash-graph-postgres-store 26.78% <ø> (ø)
rust.hash-graph-store 37.76% <ø> (ø)
rust.hash-graph-temporal-versioning 47.95% <ø> (ø)
rust.hash-graph-types 0.00% <ø> (ø)
rust.hash-graph-validation 83.43% <ø> (ø)
rust.hashql-ast 87.23% <ø> (ø)
rust.hashql-compiletest 28.26% <ø> (ø)
rust.hashql-core 79.42% <ø> (ø)
rust.hashql-diagnostics 72.53% <ø> (ø)
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.

@codspeed-hq

codspeed-hq Bot commented Jun 12, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 18.18%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 2 improved benchmarks
✅ 78 untouched benchmarks

Performance Changes

Benchmark BASE HEAD Efficiency
bit_matrix/dense/iter_row[64] 170 ns 140.8 ns +20.71%
bit_matrix/dense/iter_row[200] 215 ns 185.8 ns +15.7%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing cf/petrinaut-setup-updates-june (c4a6738) with main (dfe8234)

Open in CodSpeed

- Bump vite, @vitejs/plugin-react, storybook, rolldown 1.0.3 (matches
  vite's internal pin), rolldown-plugin-dts 0.25.2, @rolldown/plugin-babel
  and @typescript/native-preview across @hashintel/petrinaut,
  @hashintel/petrinaut-core, @apps/petrinaut-website and
  @hashintel/refractive; vitest 4.1.8 + jsdom 29 where tests exist
- typescript 5.9.3 -> 6.0.3 for the petrinaut-core in-browser LSP runtime
- react/react-dom 19.2.6 -> 19.2.7 monorepo-wide (required by the root
  resolutions pin that guarantees a single React copy)
- Add explicit @babel/core devDep for the React Compiler babel pass
- yarn constraints: ignore @types/react, typescript and jsdom forks
  (refractive was aligned instead of ignored for the toolchain packages)
- Document why the dts fake-js `enforce: "pre"` remap must stay: the
  upstream-recommended `oxc.exclude` setup (rolldown-plugin-dts#201)
  emits dts chunks without their local declarations

React Compiler stays on babel-plugin-react-compiler: the Rust port is in
oxc 0.135 but not yet shipped in rolldown (rolldown#9671 still draft) nor
reachable from stable Vite.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@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.3 \mathrm{ms} \pm 202 \mathrm{μs}\left({\color{gray}-2.173 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$3.44 \mathrm{ms} \pm 20.9 \mathrm{μs}\left({\color{gray}-1.601 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1001 $$12.5 \mathrm{ms} \pm 109 \mathrm{μs}\left({\color{lightgreen}-9.800 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 3314 $$44.8 \mathrm{ms} \pm 527 \mathrm{μs}\left({\color{gray}2.72 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$15.2 \mathrm{ms} \pm 112 \mathrm{μs}\left({\color{gray}3.38 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 1526 $$25.8 \mathrm{ms} \pm 246 \mathrm{μs}\left({\color{gray}-0.027 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 2078 $$28.4 \mathrm{ms} \pm 268 \mathrm{μs}\left({\color{gray}1.72 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.80 \mathrm{ms} \pm 26.2 \mathrm{μs}\left({\color{gray}-1.514 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 1033 $$15.0 \mathrm{ms} \pm 103 \mathrm{μs}\left({\color{gray}2.45 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_medium

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 102 $$3.73 \mathrm{ms} \pm 28.5 \mathrm{μs}\left({\color{gray}0.340 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.97 \mathrm{ms} \pm 14.6 \mathrm{μs}\left({\color{gray}-1.280 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 51 $$3.32 \mathrm{ms} \pm 18.2 \mathrm{μs}\left({\color{gray}-0.499 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 269 $$5.12 \mathrm{ms} \pm 35.4 \mathrm{μs}\left({\color{gray}-0.352 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$3.60 \mathrm{ms} \pm 19.0 \mathrm{μs}\left({\color{gray}-2.729 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 107 $$4.21 \mathrm{ms} \pm 36.1 \mathrm{μs}\left({\color{gray}2.46 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 133 $$4.37 \mathrm{ms} \pm 27.3 \mathrm{μs}\left({\color{gray}0.392 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.44 \mathrm{ms} \pm 19.9 \mathrm{μs}\left({\color{gray}-4.077 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 63 $$4.10 \mathrm{ms} \pm 24.8 \mathrm{μs}\left({\color{gray}0.342 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_none

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2 $$2.74 \mathrm{ms} \pm 13.7 \mathrm{μs}\left({\color{red}6.00 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.57 \mathrm{ms} \pm 12.3 \mathrm{μs}\left({\color{gray}1.74 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1 $$2.74 \mathrm{ms} \pm 18.2 \mathrm{μs}\left({\color{red}5.04 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 8 $$2.96 \mathrm{ms} \pm 18.9 \mathrm{μs}\left({\color{gray}3.76 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.79 \mathrm{ms} \pm 13.4 \mathrm{μs}\left({\color{red}5.29 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 3 $$2.98 \mathrm{ms} \pm 15.7 \mathrm{μs}\left({\color{gray}4.47 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_small

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 52 $$3.06 \mathrm{ms} \pm 19.8 \mathrm{μs}\left({\color{gray}1.49 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.77 \mathrm{ms} \pm 15.2 \mathrm{μs}\left({\color{gray}0.003 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 25 $$3.02 \mathrm{ms} \pm 15.1 \mathrm{μs}\left({\color{gray}-1.265 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 94 $$3.44 \mathrm{ms} \pm 26.0 \mathrm{μs}\left({\color{gray}-0.055 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$3.03 \mathrm{ms} \pm 15.6 \mathrm{μs}\left({\color{gray}0.784 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 26 $$3.31 \mathrm{ms} \pm 16.8 \mathrm{μs}\left({\color{gray}-1.058 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 66 $$3.30 \mathrm{ms} \pm 16.4 \mathrm{μs}\left({\color{gray}-1.889 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.98 \mathrm{ms} \pm 14.4 \mathrm{μs}\left({\color{gray}-1.824 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 29 $$3.31 \mathrm{ms} \pm 16.2 \mathrm{μs}\left({\color{gray}-0.773 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_complete

Function Value Mean Flame graphs
entity_by_id;one_depth 1 entities $$55.3 \mathrm{ms} \pm 392 \mathrm{μs}\left({\color{gray}-0.425 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 10 entities $$46.9 \mathrm{ms} \pm 235 \mathrm{μs}\left({\color{gray}-2.486 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 25 entities $$51.7 \mathrm{ms} \pm 382 \mathrm{μs}\left({\color{gray}-2.863 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 5 entities $$45.1 \mathrm{ms} \pm 203 \mathrm{μs}\left({\color{gray}1.04 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 50 entities $$63.9 \mathrm{ms} \pm 281 \mathrm{μs}\left({\color{gray}-4.190 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 1 entities $$63.4 \mathrm{ms} \pm 327 \mathrm{μs}\left({\color{gray}-1.083 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 10 entities $$58.1 \mathrm{ms} \pm 310 \mathrm{μs}\left({\color{gray}-1.341 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 25 entities $$105 \mathrm{ms} \pm 634 \mathrm{μs}\left({\color{red}5.79 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 5 entities $$48.5 \mathrm{ms} \pm 432 \mathrm{μs}\left({\color{gray}1.69 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 50 entities $$301 \mathrm{ms} \pm 932 \mathrm{μs}\left({\color{lightgreen}-6.994 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 1 entities $$20.8 \mathrm{ms} \pm 124 \mathrm{μs}\left({\color{red}5.90 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 10 entities $$21.6 \mathrm{ms} \pm 146 \mathrm{μs}\left({\color{red}6.73 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 25 entities $$21.1 \mathrm{ms} \pm 131 \mathrm{μs}\left({\color{gray}2.45 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 5 entities $$20.6 \mathrm{ms} \pm 124 \mathrm{μs}\left({\color{red}5.29 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 50 entities $$26.7 \mathrm{ms} \pm 152 \mathrm{μs}\left({\color{gray}4.29 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_linkless

Function Value Mean Flame graphs
entity_by_id 1 entities $$20.5 \mathrm{ms} \pm 114 \mathrm{μs}\left({\color{red}5.68 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10 entities $$20.2 \mathrm{ms} \pm 108 \mathrm{μs}\left({\color{gray}2.31 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 100 entities $$19.9 \mathrm{ms} \pm 143 \mathrm{μs}\left({\color{gray}1.93 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1000 entities $$21.5 \mathrm{ms} \pm 125 \mathrm{μs}\left({\color{red}5.04 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10000 entities $$27.5 \mathrm{ms} \pm 205 \mathrm{μs}\left({\color{gray}1.37 \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 349 \mathrm{μs}\left({\color{gray}1.84 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 $$37.1 \mathrm{ms} \pm 320 \mathrm{μs}\left({\color{gray}-1.199 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 $$37.8 \mathrm{ms} \pm 340 \mathrm{μs}\left({\color{gray}-0.364 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 $$37.0 \mathrm{ms} \pm 353 \mathrm{μs}\left({\color{gray}3.40 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 $$35.7 \mathrm{ms} \pm 253 \mathrm{μs}\left({\color{gray}1.65 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 $$37.2 \mathrm{ms} \pm 278 \mathrm{μs}\left({\color{gray}0.877 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1 $$36.4 \mathrm{ms} \pm 323 \mathrm{μs}\left({\color{gray}2.67 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 $$37.2 \mathrm{ms} \pm 287 \mathrm{μs}\left({\color{gray}1.70 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 $$36.0 \mathrm{ms} \pm 294 \mathrm{μs}\left({\color{gray}-3.169 \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.77 \mathrm{ms} \pm 60.9 \mathrm{μs}\left({\color{gray}-0.660 \mathrm{\%}}\right) $$ Flame Graph

representative_read_multiple_entities

Function Value Mean Flame graphs
entity_by_property traversal_paths=0 0 $$98.8 \mathrm{ms} \pm 651 \mathrm{μs}\left({\color{gray}-1.414 \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 713 \mathrm{μs}\left({\color{lightgreen}-7.546 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$109 \mathrm{ms} \pm 634 \mathrm{μs}\left({\color{gray}2.14 \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 688 \mathrm{μs}\left({\color{lightgreen}-6.002 \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 644 \mathrm{μs}\left({\color{lightgreen}-8.507 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$131 \mathrm{ms} \pm 753 \mathrm{μs}\left({\color{lightgreen}-6.177 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=0 0 $$106 \mathrm{ms} \pm 504 \mathrm{μs}\left({\color{gray}-4.955 \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 $$136 \mathrm{ms} \pm 774 \mathrm{μs}\left({\color{gray}-2.007 \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 491 \mathrm{μs}\left({\color{lightgreen}-6.958 \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 $$122 \mathrm{ms} \pm 628 \mathrm{μs}\left({\color{lightgreen}-6.283 \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 $$125 \mathrm{ms} \pm 540 \mathrm{μs}\left({\color{lightgreen}-5.933 \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 $$126 \mathrm{ms} \pm 600 \mathrm{μs}\left({\color{gray}-3.889 \mathrm{\%}}\right) $$

scenarios

Function Value Mean Flame graphs
full_test query-limited $$148 \mathrm{ms} \pm 660 \mathrm{μs}\left({\color{lightgreen}-23.549 \mathrm{\%}}\right) $$ Flame Graph
full_test query-unlimited $$158 \mathrm{ms} \pm 552 \mathrm{μs}\left({\color{gray}-3.213 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-limited $$41.5 \mathrm{ms} \pm 185 \mathrm{μs}\left({\color{gray}-0.465 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-unlimited $$603 \mathrm{ms} \pm 1.08 \mathrm{ms}\left({\color{red}7.83 \mathrm{\%}}\right) $$ Flame Graph

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

Labels

area/apps > hash.design Affects the `hash.design` design site (app) area/apps > hash* Affects HASH (a `hash-*` app) area/apps area/deps Relates to third-party dependencies (area) area/libs Relates to first-party libraries/crates/packages (area) type/eng > backend Owned by the @backend team type/eng > frontend Owned by the @frontend team

Development

Successfully merging this pull request may close these issues.

2 participants