Skip to content

New Workload: React Server Side Rendering Startup - #116

Merged
camillobruni merged 42 commits into
WebKit:mainfrom
camillobruni:2025-08-07_web_ssr
Sep 17, 2025
Merged

New Workload: React Server Side Rendering Startup#116
camillobruni merged 42 commits into
WebKit:mainfrom
camillobruni:2025-08-07_web_ssr

Conversation

@camillobruni

@camillobruni camillobruni commented Aug 7, 2025

Copy link
Copy Markdown
Contributor

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.

@netlify

netlify Bot commented Aug 7, 2025

Copy link
Copy Markdown

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
Copy Markdown
Contributor

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

@camillobruni

Copy link
Copy Markdown
Contributor Author
  • Changed to use the common startup-helper/BabelCacheBuster.mjs plugin
  • Added the unicode escape plugin

@kmiller68 kmiller68 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.

Yeah, this LGTM now.

Comment thread JetStreamDriver.js
BUNDLE_BLOB: "./web-ssr/dist/bundle.min.js",
},
tags: ["Default", "web", "ssr"],
iterations: 30,

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.

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
Copy Markdown
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