Skip to content

Conversation

@danleh
Copy link
Contributor

@danleh danleh commented Jan 15, 2026

  • Fixes Console warning in dotnet workloads #196 (by silencing the warning, see discussion for more details)
  • Add -p:Deterministic=true -p:DeterministicSourcePaths=true to dotnet build command to at least exclude file paths as a source of binary differences
  • Only run wasm-opt on the main Wasm binary, not WebCIL files (CC @pavelsavara)
  • Remove some duplicated code in the build script

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

netlify bot commented Jan 15, 2026

Deploy Preview for webkit-jetstream-preview ready!

Name Link
🔨 Latest commit 311a014
🔍 Latest deploy log https://app.netlify.com/projects/webkit-jetstream-preview/deploys/6969005debd93b0008076187
😎 Deploy Preview https://deploy-preview-261--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.

86:ut_dotnet_BenchTask__RunBatchd__7_MoveNext
87:dotnet_Interop_RunIteration_int_int_int_int
88:dotnet_Interop___Wrapper_RunIteration_2022265694_System_Runtime_InteropServices_JavaScript_JSMarshalerArgument_
88:dotnet_Interop___Wrapper_RunIteration_1052663206_System_Runtime_InteropServices_JavaScript_JSMarshalerArgument_
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@pavelsavara This is a difference that seems to appear on every rebuild, despite passing -p:Deterministic=true -p:DeterministicSourcePaths=true to dotnet publish

Choose a reason for hiding this comment

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

Thank you! I will have look

Choose a reason for hiding this comment

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

This was fixed for Net10

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Great to know, thanks! Since Net10 seems to have been stable/released in November (https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview), shall we switch/rebuild with the new version? @kmiller68 @eqrion

Choose a reason for hiding this comment

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

Please take 10.0.2 or later

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.

Overal LGTM, worth sanity checking if there's a performance difference between the new version and old one before landing though.

@danleh
Copy link
Contributor Author

danleh commented Jan 15, 2026

worth sanity checking if there's a performance difference between the new version and old one before landing though

@kmiller68: I just briefly compared on jsc, d8, and Chrome on x64 Linux and we are getting the same (modulo noise) times and scores before and after this rebuild.

@pavelsavara
Copy link

Are the PR changes in the WebCIL files caused by not running wasm-opt on them ? Or that's also on dotnet side ?

@danleh
Copy link
Contributor Author

danleh commented Jan 15, 2026

Are the PR changes in the WebCIL files caused by not running wasm-opt on them ? Or that's also on dotnet side ?

That is because of wasm-opt, the non-optimized WebCIL files contain a name section, see e.g. this diff of System.Drawing.wasm:

@@ -10,18 +10,18 @@
  (export "webcilSize" (global $global$1))
  (export "getWebcilSize" (func $0))
  (export "getWebcilPayload" (func $1))
- (func $0 (type $0) (param $destPtr i32)
+ (func $0 (type $0) (param $0 i32)
   (memory.init $0
-   (local.get $destPtr)
+   (local.get $0)
    (i32.const 0)
    (i32.const 4)
   )
  )
- (func $1 (type $1) (param $d i32) (param $n i32)
+ (func $1 (type $1) (param $0 i32) (param $1 i32)
   (memory.init $1
-   (local.get $d)
+   (local.get $0)
    (i32.const 0)
-   (local.get $n)
+   (local.get $1)
   )
  )
 )

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.

Console warning in dotnet workloads

3 participants