Skip to content

[release/6.0][wasm] Change dotnet.wasm link optimization - #60632

Merged
Anipik merged 2 commits into
dotnet:release/6.0from
radekdoulik:pr-release-6-0-change-link-optimization
Nov 10, 2021
Merged

[release/6.0][wasm] Change dotnet.wasm link optimization#60632
Anipik merged 2 commits into
dotnet:release/6.0from
radekdoulik:pr-release-6-0-change-link-optimization

Conversation

@radekdoulik

@radekdoulikradekdoulik commented Oct 19, 2021

Copy link
Copy Markdown
Member

Context: #60349

When we switched to Emscripten 2.0.21, we stopped using deprecated
--llvm-opts 2 option. This caused unwanted performance degradation.
Switching to -O2 get us similar performance as with --llvm-opts.

Blazor wasm test app Time to first UI benchmark times:

branch/commit link option time dotnet.wasm size .br size
--------------------+------------+--------+------------------+---------
release/6.0 92ff02 -Oz 491ms 2,430,639 850,109
release/6.0 92ff02 -O2 457ms 2,474,518 853,765
release/6.0 92ff02 -O3 444ms 2,555,824 857,961

Customer Impact

Fixes a startup time regression for blazorwasm between .NET 5 an .NET 6 by a reverting compiler option change that was accidentally introduced as part of other build changes.

Testing

Manual and Automated

Regression

Yes, startup time regression.

Risk

Low, switch to compiler options we're using in main.

Context: dotnet#60349
When we switched to Emscripten 2.0.21, we stopped using deprecated
`--llvm-opts 2` option. This caused unwanted performance degradation.
Switching to `-O2` get us similar performance as with `--llvm-opts`.
Blazor wasm test app `Time to first UI` benchmark times:
branch/commit link option time dotnet.wasm size
--------------------+------------+--------+-----------------
release/6.0 92ff02 -Oz 491ms 2,430,639
release/6.0 92ff02 -O2 457ms 2,474,518
release/6.0 92ff02 -O3 444ms 2,555,824
@lambdageeklambdageek changed the title [wasm] Change dotnet.wasm link optimization[release/6.0][wasm] Change dotnet.wasm link optimizationOct 19, 2021
@lambdageeklambdageek added the Servicing-consider Issue for next servicing release review label Oct 19, 2021
@lewinglewing removed the Servicing-consider Issue for next servicing release review label Oct 19, 2021
@lewing

lewing commented Oct 19, 2021

Copy link
Copy Markdown
Member

we're going to let this bake for a bit before we take it in servicing

@radicalradical added the arch-wasm WebAssembly architecture label Oct 19, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Context: #60349

When we switched to Emscripten 2.0.21, we stopped using deprecated
--llvm-opts 2 option. This caused unwanted performance degradation.
Switching to -O2 get us similar performance as with --llvm-opts.

Blazor wasm test app Time to first UI benchmark times:

branch/commit link option time dotnet.wasm size
--------------------+------------+--------+-----------------
release/6.0 92ff02 -Oz 491ms 2,430,639
release/6.0 92ff02 -O2 457ms 2,474,518
release/6.0 92ff02 -O3 444ms 2,555,824
Author:radekdoulik
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

@lewinglewing added this to the 6.0.1 milestone Oct 21, 2021
@lewinglewing added the Servicing-consider Issue for next servicing release review label Oct 22, 2021
@leecowleecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Nov 2, 2021
Comment threadsrc/mono/wasm/Makefile
@Anipik

Copy link
Copy Markdown
Contributor

@marek-safar@radical can you review this one ?

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

LGTM. but I would also wait for an approval from @lewing

@Anipik
Anipik merged commit 08e0023 into dotnet:release/6.0Nov 10, 2021
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-monoServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@radekdoulik@lewing@Anipik@radical@marek-safar@lambdageek@leecow