Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Wasm built with Emscripten >2.0 is 8 times slower to compile than WASM built with Emscripten 1.40.1 on Android phones RAM <=6GB

  • 1 resposta
  • 1 has this problem
  • 2 views
  • Last reply by Paul

more options

with firefox defaut profile, WebAssembly.compile time of Wasm built with Emscripten >2.0 is 8,9s,while WASM built with Emscripten 1.40.1 is 1,2s, tested on Xiaomi K30(Ram= 6GB, 8 cores), firefox 96 beta. Can someone help on that? I set javascript.options.wasm_optimizingjit false and compile time for both the wasms is about 140ms compared to 100ms for Chromium 94. Refer to * When wasm bytecode arrives, we choose the compilation strategy based on * switches and on aspects of the code and the hardware. If switches allow * tiered compilation to happen (the normal case), the following logic applies. * * If the code is sufficiently large that tiered compilation would be beneficial * but not so large that it might blow our compiled code budget and make * compilation fail, we choose tiered compilation. Otherwise we go straight to * optimized code. it seems with default profile, the compile goes to "optimized code". is this reasonable? Then I observed the CPU used of wasm (Emscripten >2.0) compilation is 48%, while wasm (Emscripten 1.40.1) compilation is 100%, I guess wasm (Emscripten >2.0) compilation maybe only use one core. I don't which is the main cause? PS: SAMSUNG A51 (RAM 4G) has the same performance, but with some mobile phone >=8G, the compile time is about 100ms.

with firefox defaut profile, WebAssembly.compile time of Wasm built with Emscripten >2.0 is 8,9s,while WASM built with Emscripten 1.40.1 is 1,2s, tested on Xiaomi K30(Ram= 6GB, 8 cores), firefox 96 beta. Can someone help on that? I set javascript.options.wasm_optimizingjit false and compile time for both the wasms is about 140ms compared to 100ms for Chromium 94. Refer to [https://searchfox.org/mozilla-central/source/js/src/wasm/WasmCompile.cpp * When wasm bytecode arrives, we choose the compilation strategy based on * switches and on aspects of the code and the hardware. If switches allow * tiered compilation to happen (the normal case), the following logic applies. * * If the code is sufficiently large that tiered compilation would be beneficial * but not so large that it might blow our compiled code budget and make * compilation fail, we choose tiered compilation. Otherwise we go straight to * optimized code.] it seems with default profile, the compile goes to "optimized code". is this reasonable? Then I observed the CPU used of wasm (Emscripten >2.0) compilation is 48%, while wasm (Emscripten 1.40.1) compilation is 100%, I guess wasm (Emscripten >2.0) compilation maybe only use one core. I don't which is the main cause? PS: SAMSUNG A51 (RAM 4G) has the same performance, but with some mobile phone >=8G, the compile time is about 100ms.

All Replies (1)

more options

Hi

It looks like this is being looked into at https://bugzilla.mozilla.org/show_bug.cgi?id=1747265

You can follow progress on this and add comments there.