WebAssembly streaming compile support

Description
Dear Zoom,

We are trying to integrate Zoom into our web application running on our device which is relatively poor performance and has a browser based platform.

Our trouble is that joining to a Zoom meeting by our application is very time consuming.

As a result of our investigation, we have found that compiling the wasm files takes a long time and the compiled objects are not cached and compiling run every time joining.

Could you use WebAssembly.instantiateStreaming() to cache the compiled objects by browsers instead of using WebAssembly.instantiate()?

Best regards,

Which version?
1.7.2

Hey @tomofumi.asakawa, thanks for posting and using Zoom!

Have you tried using the local version, and caching the files (node_modules/@zoomus/websdk/dist/lib/) on your end?

Thanks,
Tommy

Hi tommy,

Thanks for your answer.

Yes, we are using the local version and caching for fetching the .wasm files is done by HTTP cache mechanism or the Zoom SDK by using IndexedDB.

But what we require is not caching the .wasm files but caching the compiled WebAssembly codes.

The only way to cache compiled WebAssembly codes is to use WebAssembly.instantiateStreaming() for now.

https://v8.dev/blog/wasm-code-caching#algorithm

Regards,
Asakawa

Hey @tomofumi.asakawa,

I see, thanks for the explanation. I will talk to the team about using WebAssembly.instantiateStreaming().

-Tommy