Skip to content

[diffs] Add diffs demo profile workload#605

Open
SlexAxton wants to merge 1 commit intomainfrom
autoresearch/diffs-post-paint-ready/01-demo-profile-workload
Open

[diffs] Add diffs demo profile workload#605
SlexAxton wants to merge 1 commit intomainfrom
autoresearch/diffs-post-paint-ready/01-demo-profile-workload

Conversation

@SlexAxton
Copy link
Copy Markdown
Contributor

Add the demo/profile harness used to measure large diff rendering through the normal diffs package path. This branch establishes the clean autoresearch baseline without changing library rendering behavior.

Experiments: #3
Metric: post_paint_ready_ms baseline 91.3ms

Add the demo/profile harness used to measure large diff rendering through the normal diffs package path. This branch establishes the clean autoresearch baseline without changing library rendering behavior.

Experiments: #3
Metric: post_paint_ready_ms baseline 91.3ms
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 24, 2026

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

Project Deployment Actions Updated (UTC)
pierrejs-diff-demo Ready Ready Preview Apr 24, 2026 3:07am
pierrejs-docs Ready Ready Preview Apr 24, 2026 3:07am

Request Review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d865535b25

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +1464 to +1468
addDuration(leafNodeId, durationUs, 'self');

const visitedNodeIds = new Set<number>();
let currentNodeId: number | undefined = leafNodeId;
while (currentNodeId != null && !visitedNodeIds.has(currentNodeId)) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Start ancestor walk above the leaf sample

The CPU bottom-up totals are inflated because each sample’s leaf node is counted twice: once via addDuration(..., 'self') and then again when the ancestor walk starts from leafNodeId. Since addDuration always increments totalUs, leaf frames get double totalMs/totalPercent, which skews the reported CPU hotspots in every run with profiling data.

Useful? React with 👍 / 👎.

continue;
}

const [flag, inlineValue] = rawArg.split('=', 2);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Parse inline option values without truncating '='

Using rawArg.split('=', 2) truncates inline values that themselves contain =, e.g. --url=http://127.0.0.1:5173/?a=b becomes http://127.0.0.1:5173/?a. This can silently rewrite profile target URLs (or other inline values), causing the CLI to hit the wrong page and produce misleading failures.

Useful? React with 👍 / 👎.

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