You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The asm.js builder has been creeping up in time it takes to run ever since it was originally added, and clocking in at around 2.5 hrs now this builder is ripe for timing out on occasion. The suspected cause here is the fact that the run-pass test suite takes >1hr to run and the suspected cause there is that we're effectively compiling every test with LTO which can take quite some time.
This issue is intended to track possible solutions to bring the builder back under control. Today in a discussion a few possible avenues arose:
Shard the asm.js builder into two builders, each running half the run-pass tests
Stop running the full test suite for asm.js altogether, we seem to regress this very rarely
Stop optimizing tests, debug mode may be much faster.
and we see that the run time of the run-pass suite typically take 10 to 15 minutes to complete, so the running time of asmjs's run-pass is 5 times longer than other builders.
FWIW pre-LLD the wasm32-unknown run-pass test suite took 2700s, wheras after LLD it took 850s, a transition from 45m to ~15m. That's I think definitely confirming that Emscripten is so slow because of how it's linker works, it's just LLVM's LTO linker.
Once my machine frees up from timing other things I'll run some tests to see how much optimizing tests costs us here.
Looks like with #49095 our builds have stabilized at from 2.5 hours to 2 hours on the asmjs builder. That should hopefully buy us at least a few months!
Activity
kennytm commentedon Mar 7, 2018
For reference, the rough timing breakdown according to the log in the recent successful builds are:
Details
(Unit = seconds)
We see that finishing the
test/run-passtests take roughly 1 hour.We could compare with those of
android...
x86_64...
wasm32...
and we see that the run time of the
run-passsuite typically take 10 to 15 minutes to complete, so the running time of asmjs'srun-passis 5 times longer than other builders.alexcrichton commentedon Mar 7, 2018
FWIW pre-LLD the wasm32-unknown run-pass test suite took 2700s, wheras after LLD it took 850s, a transition from 45m to ~15m. That's I think definitely confirming that Emscripten is so slow because of how it's linker works, it's just LLVM's LTO linker.
Once my machine frees up from timing other things I'll run some tests to see how much optimizing tests costs us here.
alexcrichton commentedon Mar 8, 2018
Disabling optimizations in tests unfortunately broke a bunch of tests
and shaved 5 minutes off the total build time locally. I'm not sure if that'll actually translate to wins upstream...
ci: Disable optimized tests for asm.js
Auto merge of #49095 - alexcrichton:debug-asmjs, r=kennytm
alexcrichton commentedon Mar 19, 2018
Looks like with #49095 our builds have stabilized at from 2.5 hours to 2 hours on the asmjs builder. That should hopefully buy us at least a few months!
rustbuild: Disable docs on cross-compiled builds
Rollup merge of rust-lang#49187 - alexcrichton:no-cross-docs, r=kennytm
Rollup merge of rust-lang#49187 - alexcrichton:no-cross-docs, r=kennytm