I have no idea of the details as to why, but in all the years I've used emulators, turning off the audio has always increased the speed of emulation in emulators that are struggling.
I realize Wine is not an emulator...but...same shit.
The WASM build uses the 'normal' CPU core. In this core the CPU emulator is a collection of indirect calls that performs poorly in WASM due the runtime checks to verify the number of parameters and their types.
For other builds there is a dynamic code generator. A similar approach would work wonders. Assistance gratefully accepted! - see source folders under emulation/cpu for armv7, armv8 & x32 for the 30 odd method implementations.
To get native like performance a binary translator like that used for the x64 core is required
I realize Wine is not an emulator...but...same shit.