3 ms·
Just thinking out loud, does go compile to WASM? I often see performance critical WASM snippets written in rust, but never in Go.
by azeirah 4y ago
Just thinking out loud, does go compile to WASM? I often see performance critical WASM snippets written in rust, but never in Go.
- rob74 4y agoYes it does, but there are some issues, mainly the size of the compiled WASM file. But you can get around that by using TinyGo. I'm not that deep into it, but this article seems to give a good (and as far as I can see up to date) overview: https://elewis.dev/are-we-wasm-yet-part-1 https://elewis.dev/are-we-wasm-yet-part-1
- Philip-J-Fry 4y agoGo compiles to WASM but the stock compiler is pretty bad for this and your binaries are like 2MB+ in size. TinyGo is an LLVM based compiler that targets microcontrollers but also has a WASM target and that creates considerably smaller binaries, but it doesn't fully support all of the Go standard library.
- doctor_eval 4y agoTinyGo is great, I used to to program microcontrollers and there wasn’t anything I really missed, though admittedly it was a very small program.
- masklinn 4y agoGo does compile to wasm, however because wasm is what it is it has to carry around the entire runtime. This is obviously a much bigger issue for delivery over the web than it is for shuffling binaries around, or even more so creating them locally: last I’d checked, the baseline (an empty main function) for a go wasm package is about 1.3M.
- pjmlp 4y agoHardly an issue when looking at the ads crap that get download in every "modern" site.
- masklinn 4y agoSure if your use case for go wasm is ads crap knock yourself out.
- pjmlp 4y agoThat wasn't my point, ads and SPA crap available almost in every "modern" site, are several MB bigger in size than Go runtime on WASM. Ergo a a WASM Go application will be much smaller than those "modern" sites. I bet even smaller than GMail and Google Docs.
- alpaca128 4y agoSure, but I think if you see the size of ad-loaded pages as a size budget or standard for your website you're already on the path towards setting your own bad example.
- yakorevivan 4y ago
- prerok 4y agoSure it can: https://golangbot.com/webassembly-using-go/ https://golangbot.com/webassembly-using-go/ Never tried it, though :)