Many things could cause such a difference, including that PNaCl uses LLVM
on the client (which sometimes beats web VMs), the use of SIMD (which must
be enabled explicitly in wasm, but I believe not in PNaCl - you may be
getting autovectorizing), presence of exceptions and setjmp (currently much
slower in wasm, but wasm will fix that soon), etc.

If this difference is important, you can investigate it using profiling
traces and inspection of particularly hot functions, etc. If you can share
the wasm benchmark we can take a look and see if there is anything obvious.

On Tue, May 4, 2021 at 6:27 AM Amol Wagh <[email protected]> wrote:

>
> Hello All,
>
> We have a chrome extension written in C++ and Javascript. Recently,
> changes are done to make use of WebAssembly module instead of NaCl module.
> However, performance of WebAssembly found to be slower, on an avg by 30%
> and despite using `-O3`, than the NaCl's performance.
> Emscripten compiler, v2.0.7, is used to prepare the .wasm. Whereas for
> .nexe, the C++ code is compiled using `pnacl-clang++` compiler. Later
> `pnacl-transalte` is used to generate the .nexe file. (x86_64 arch).
>
> OS and Compiler details are as follows.
> NaCl SDK having `Pepper 50`
> Emscripten SDK version 2.0.7
> Ubuntu 18.04.5 LTS
> Chrome version 88.0.4324.182 (64-bit)
> Processor : Intel® Core™ i5-5200U CPU @ 2.20GHz × 4
>
> My concern is -
> Right now, Emscripten only supports building 32 bit .wasm. Whereas, .nexe
> is 64 bit. Are the two executable right candidates for the performance
> comparison?
> There might be differences at several places.
> e.g. As mentioned in the design spec
> <https://github.com/WebAssembly/design/blob/master/CAndC%2B%2B.md#platform-features>
> of WebAssembly, `long double` are software-emulated.
> Note that, I can build 32 bit nexe. However, can't use it in 64 bit
> Chrome. Following error occurs in that case.
> NaCl module load failed: ELF file for wrong architecture.
>
> Regards,.
> Amol
>
> This e-mail, including any attached files, may contain confidential and
> privileged information for the sole use of the intended recipient. Any
> review, use, distribution, or disclosure by others is strictly prohibited.
> If you are not the intended recipient (or authorized to receive information
> for the intended recipient), please contact the sender by reply e-mail and
> delete all copies of this message.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/emscripten-discuss/d8e66f42-10b9-4af0-9ba8-01424720a1b2n%40googlegroups.com
> <https://groups.google.com/d/msgid/emscripten-discuss/d8e66f42-10b9-4af0-9ba8-01424720a1b2n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpQ9Rq1vYnJVRkpo1RBobSDitCsiw1b%3D%2BsWf7ajWFOt_Yg%40mail.gmail.com.

Reply via email to