-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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] Incremental build improvements #90194
Conversation
Tagging subscribers to 'arch-wasm': @lewing Issue Details
|
0eee015
to
22f2daa
Compare
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
- Check emcc versions *if* `EMSDK_PATH` was explicitly set, IOW, workloads are not in use
Convert the assemblies only if needed.
- If the inputs are older than the outputs, then no work needs to be done - The inputs consist of the assemblies to scan, and a list of pinvoke modules. - Timestamps are used for the assemblies - And for the pinvoke modules list, we save that in a cache file, and use that to determine if any work needs to be done.
`EmccCompile` task build compiles some `.c` files, but skips them if the output files are already up-to-date. But the build always emits a `Compiling native assets with emcc with ..` message, which suggests that there is some native build being run. Instead, emit this message only if `EmccCompile` actually did any work.
34390f4
to
dda5b20
Compare
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
Failures are unrelated. |
# Conflicts: # src/mono/wasm/Makefile
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see anything wrong in here, though I'm not an expert on the table generators or msbuild
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me 👍
This improves build times ~30% for no-op rebuilds.
dotnet
process running*webassembly.pack
which is the relevant package here.factorial.c
from WebAssembly native dependency builds incrementalism is still slow #60245Fixes #60245 .