Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wasm] Wasm.Build.Tests: Use the default cache for emcc #76694

Merged
merged 3 commits into from
Oct 7, 2022

Conversation

radical
Copy link
Member

@radical radical commented Oct 6, 2022

On windows, WBT overrides the cache path to a new directory -
~/.emscripten-cache. Because of this the first native build takes a
long time (~16-20mins) as it run embuilder build MINIMAL.

Instead, we can use the new workload pack for emscripten Cache, which is
the default behavior. So, not overriding the cache path improves the
test run times on windows by ~17-20mins.

  • Also, use multithreading with robocopy, which saves ~5mins .

@radical radical added arch-wasm WebAssembly architecture area-Build-mono labels Oct 6, 2022
@radical radical requested review from lewing and radekdoulik October 6, 2022 00:05
@ghost ghost assigned radical Oct 6, 2022
@ghost
Copy link

ghost commented Oct 6, 2022

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

Issue Details

On windows, WBT overrides the cache path to a new directory. And sets
FROZEN_CACHE=true, which was required earlier because dotnet
installation was shared between all the work items. But that isn't the
case now.

And if we don't do the above, then the builds would be using the default
cache path, which gets populated by the new Cache nuget.

This improves the test run times by 18-20mins per test class.

  • Also, use multithreading with robocopy, which saves ~5mins on helix.
Author: radical
Assignees: -
Labels:

arch-wasm, area-Build-mono

Milestone: -

On windows, WBT overrides the cache path to a new directory -
`~/.emscripten-cache`. Because of this the first native build takes a
long time (~16-20mins) as it run `embuilder build MINIMAL`.

Instead, we can use the new workload pack for emscripten Cache, which is
the default behavior. So, not overriding the cache path improves the
test run times on windows by ~17-20mins.
@radical radical force-pushed the wbt-win-improvements branch from bd1d593 to 4bc0b4f Compare October 6, 2022 00:12
@radical radical added the test-enhancement Improvements of test source code label Oct 6, 2022
@radical radical requested a review from pavelsavara October 6, 2022 02:35
@radical
Copy link
Member Author

radical commented Oct 6, 2022

/azp run runtime-wasm-libtests

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@radical
Copy link
Member Author

radical commented Oct 6, 2022

/azp run runtime-wasm-libtests

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara
Copy link
Member

pavelsavara commented Oct 7, 2022

Should we also drop it here ?

<_AOTBuildCommand Condition="'$(BrowserHost)' == 'windows'">$(_AOTBuildCommand) &quot;/p:WasmCachePath=%USERPROFILE%\.emscripten-cache&quot;</_AOTBuildCommand>

@radical
Copy link
Member Author

radical commented Oct 7, 2022

That requires some extra work, and I'm working on that in a separate PR.

@radical radical merged commit ca50108 into dotnet:main Oct 7, 2022
@radical radical deleted the wbt-win-improvements branch October 7, 2022 15:14
@ghost ghost locked as resolved and limited conversation to collaborators Nov 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Build-mono test-enhancement Improvements of test source code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants