> On 29 Aug 2022, at 13:48, Thiago Macieira <[email protected]> wrote: > > On Monday, 29 August 2022 05:34:48 -03 Mikołaj Boć wrote: >> We plan to enable the feature on CI for WASM. Since that has not yet been >> done, breaking the tests unintentionally is possible. With CI on, it will >> become everyone’s responsibility to keep them running (at least on WASM, >> which will be checked by the CI). Following the guideline on symbol name >> duplication will save us a considerable amount of work. >> >> Batching tests for other platforms is an opt-in, please do check whether >> that would simplify the testing pipeline on the platform you are proficient >> with. > > I'd recommend you consider enabling that for at least one of the fast > platforms that are in the minimal build set of the CI. WASM doesn't appear to > be a fast compile, so waiting 2 hours to find out that you've made a mistake > is > sub-optimal.
This was true until recently, but is now (6.4) only partially true. Compiling individual translation units runs at the normal speed of clang/llvm, also for the wasm target. Linking can still be slow, in some cases. llvm links webassembly reasonably fast, on par with static builds on other platforms. Emscripten has an extra wasm rewrite/optimization step which runs any one of these are true: - the WASM_BIGINT option is not set (Qt 6.4 sets it by default) - optimizations are enabled (I’m unsure of at which level it kicks in) - asyncify is used This final step is what is causing the slowdown. The plan for the auto tests is to run them with asyncify enabled, since the Qt test suite makes frequent use of synchronous waitFor() and similar calls. This means linking will be slow, which is why the batched test feature was introduced to incur the linking overhead only a few times for the test suite. So in the end we hope that wasm CI performance will similar to the other platforms, at least as far as the building step goes. If not, then we can always enable batching on another platform. - Morten _______________________________________________ Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
