Skip to content

Conversation

@danleh
Copy link
Contributor

@danleh danleh commented Jan 15, 2026

as proposed by @kmiller68 in #258 (comment)

@danleh danleh requested a review from kmiller68 January 15, 2026 09:07
@netlify
Copy link

netlify bot commented Jan 15, 2026

Deploy Preview for webkit-jetstream-preview ready!

Name Link
🔨 Latest commit 0d19533
🔍 Latest deploy log https://app.netlify.com/projects/webkit-jetstream-preview/deploys/6968ae4747935d00099f082e
😎 Deploy Preview https://deploy-preview-260--webkit-jetstream-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

In order to avoid the CPU frequency spinning down between tests we prefetch all assets before any of the tests start in the browser.
(In the CLI/shell runner we assume all assets are on disk.)
Assets are saved in a blob URL so they can be cached on disk.
This lowers the peak memory footprint of the benchmark to a sustainable level.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is this true in general (i.e., for non-JSC engines)? I.e., does the content behind a blob URL get swapped out of memory to disk before/between workloads? (My assumption so far was that the benefit of the blob URLs is to avoid another network request during the measurement window and to avoid the OS scheduler and CPU dynamic frequency scaling to affect the measurement due to I/O; not that this has a memory benefit.)

Copy link
Contributor

Choose a reason for hiding this comment

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

My understanding is that I/O / IPC is fast enough that it doesn't make a noticeable difference in CPU frequency scaling. I'm certainly not an expert in this part of WebKit but our WebInspector indicates the blobs are coming from disk. Additionally, on iOS if all the resources were in memory (in addition to the working set of some of the line items) I think we'd be well past the jetsam limit.

Even if the blobs were kept in memory I think there is still an IPC request in the timing window because we have to get the blob from our networking process. I would assume Chrome/FF have similar behavior?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

OK, thanks for the WebKit background. I don't know whether getting the blob involves IPC on Chrome.

Copy link
Contributor

@kmiller68 kmiller68 left a comment

Choose a reason for hiding this comment

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

LGTM

@danleh danleh merged commit 1cbd5f1 into WebKit:main Jan 15, 2026
23 checks passed
@danleh danleh deleted the readme-addendum branch January 15, 2026 15:17
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.

2 participants