') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); refactor: remove wasm args by FreyLuis · Pull Request #5134 · dotnet/performance · GitHub
Skip to content

refactor: remove wasm args - #5134

Merged
LoopedBard3 merged 2 commits into
dotnet:mainfrom
FreyLuis:remove-wasm-args
Mar 19, 2026
Merged

refactor: remove wasm args#5134
LoopedBard3 merged 2 commits into
dotnet:mainfrom
FreyLuis:remove-wasm-args

Conversation

@FreyLuis

@FreyLuisFreyLuis commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

This PR removes both wasmArgs.

--module is now added by BenchmarkDotNet when running on V8 (dotnet/BenchmarkDotNet#3020).
--expose_wasm is obsolete and was removed from V8 in 2024.

@FreyLuis
FreyLuisforce-pushed the remove-wasm-args branch 3 times, most recently from dd6ee14 to 33eabbaCompareMarch 3, 2026 10:35
@FreyLuis

Copy link
Copy Markdown
ContributorAuthor

@ilonatommy@timcassell Is there some manual part in publishing benchmarkdotnet nightlies, or have I missed something?

In the failing CI runs, it can't find the nightly that I've referenced, but it works for the scenario pipelines...

error NU1102: - Found 75 version(s) in benchmark-dotnet-prerelease [ Nearest version: 0.16.0-nightly.20260226.451 ]

@ilonatommy

Copy link
Copy Markdown
Member

@ilonatommy@timcassell Is there some manual part in publishing benchmarkdotnet nightlies, or have I missed something?

Yes, it's tricky. In my case I was getting the version from @LoopedBard3 and that one always worked properly.

@LoopedBard3

Copy link
Copy Markdown
Member

Yes, we have a mirror for nightlies that we have to manually update (but we are looking into options for automatic mirroring). I will get this version mirrored and retested today 👍.

@FreyLuis

Copy link
Copy Markdown
ContributorAuthor

Thank you

@LoopedBard3LoopedBard3 self-assigned this Mar 3, 2026
@LoopedBard3
LoopedBard3 requested a review from CopilotMarch 3, 2026 18:13
@LoopedBard3

Copy link
Copy Markdown
Member

/azp run

@LoopedBard3

Copy link
Copy Markdown
Member

The feed should be available, rerunning the checks.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

CopilotAI 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

This PR removes the --expose_wasm and --module V8 wasm arguments from benchmark scripts. --expose_wasm was removed from V8 in 2024, and --module is now automatically added by BenchmarkDotNet when running on V8 (via BDN PR #3020). The PR also bumps the BDN nightly version to include that fix.

Changes:

  • Remove --wasmArgs (containing --expose_wasm and --module) from WASM benchmark run configurations in CI and local scripts
  • Update BenchmarkDotNet to nightly 0.16.0-nightly.20260302.459 which automatically adds --module for V8
  • Update documentation examples to remove the now-unnecessary --wasmArgs and --wasmDataDir arguments

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
scripts/run_performance_job.pyRemoves wasm_args construction and --wasmArgs BDN argument for both wasm and wasm_coreclr runtime types
scripts/benchmarks_local.pyRemoves --wasmArgs from WasmInterpreter and WasmAOT run types, but leaves behind stale comments referencing --wasmArgs
eng/Versions.propsBumps BDN version to nightly 20260302.459, which includes the fix to auto-add --module for V8
docs/benchmarking-workflow-dotnet-runtime.mdRemoves --wasmArgs=\"--module\" and --wasmDataDir from interpreter and AOT benchmark doc examples

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

Comment threadscripts/benchmarks_local.py
Comment threadscripts/benchmarks_local.py
@LoopedBard3LoopedBard3 removed their assignment Mar 3, 2026
- `--expose_wasm` is obsolete
- `--module` is now set by benchmarkdotnet
@FreyLuis
FreyLuis marked this pull request as ready for review March 4, 2026 12:29
@FreyLuis
FreyLuis requested a review from CopilotMarch 10, 2026 10:29

CopilotAI 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

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.


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

You can also share your feedback on Copilot code review. Take the survey.

@LoopedBard3LoopedBard3 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Started a test run in the dotnet-runtime-perf pipeline: https://dev.azure.com/dnceng/internal/_build/results?buildId=2930098&view=results. This looks good and will approve if the run is successful how we expect.

@LoopedBard3

Copy link
Copy Markdown
Member

Hit some feed issues due to disabled feeds in the above run, so kicked off this run which rebases the PR with main: https://dev.azure.com/dnceng/internal/_build/results?buildId=2930147&view=results

@LoopedBard3LoopedBard3 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Test run looked good 👍.

@LoopedBard3
LoopedBard3 merged commit 004f596 into dotnet:mainMar 19, 2026
78 of 79 checks passed
@FreyLuis
FreyLuis deleted the remove-wasm-args branch March 19, 2026 19:14
Sign up for freeto 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.

4 participants

@FreyLuis@ilonatommy@LoopedBard3