Skip to content

Conversation

camillobruni
Copy link
Contributor

@camillobruni camillobruni commented Aug 7, 2025

I've create a react app that renders a little wine-collection with different react components.

Currently the setup uses webpack to build a web-bundle that we can run in the browser.

  • We generate two bundles:
    • minified sources with mangled names as default for the benchmark
    • minifed sources with unmangeled names for nicer local profiling (we do have source maps, but we we don't check in the node modules)
  • A custom TerserPlugin injects a comment into every function-body
  • A last step stringifies the bundled code for later evaling

For cache-busting new sources are generated for each iteration and the custom comment is replaced with iteration-unique string.

This is a first iteration of this approach / workload happy to get some feedback.

Copy link

netlify bot commented Aug 7, 2025

Deploy Preview for webkit-jetstream-preview ready!

Name Link
🔨 Latest commit 4a3f849
🔍 Latest deploy log https://app.netlify.com/projects/webkit-jetstream-preview/deploys/68c02f38f4609b0008810f63
😎 Deploy Preview https://deploy-preview-116--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.

@camillobruni camillobruni changed the title New Workload: React Server Side Rendering + jsdom New Workload: React Server Side Rendering Aug 11, 2025
@camillobruni camillobruni changed the title New Workload: React Server Side Rendering New Workload: React Server Side Rendering Startup Aug 11, 2025
@kmiller68
Copy link
Contributor

Also, seems to be dominated by utf-16 parsing. Ditto on repeating #124 here.

@camillobruni
Copy link
Contributor Author

  • Changed to use the common startup-helper/BabelCacheBuster.mjs plugin
  • Added the unicode escape plugin

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.

Yeah, this LGTM now.

BUNDLE_BLOB: "./web-ssr/dist/bundle.min.js",
},
tags: ["Default", "web", "ssr"],
iterations: 30,
Copy link
Contributor

Choose a reason for hiding this comment

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

We might want to play with the worstCase counts since there's not a lot of iterations here. 2-3 seems standard. We can do that in a follow up though (please file an issue though).

@camillobruni camillobruni merged commit 358d6b4 into WebKit:main Sep 17, 2025
9 of 10 checks passed
@camillobruni camillobruni deleted the 2025-08-07_web_ssr branch September 17, 2025 14:33
@camillobruni
Copy link
Contributor Author

Filed #184 to do this as global analysis across all workloads.

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