Re:TinyGo: New Go Compiler Based on LLVM
by aykevl on Friday July 19, 2019 @09:59AM
(#20478697)
Oops, those docs need updating. The GC now works on all platforms (including RISC-V and WebAssembly!) except for AVR because the AVR backend is just too unreliable at the moment and you wouldn't want a GC in 2kB of memory anyway.
[ Parent
| on HN ]
That's wonderful to hear, I just wish I had learned about it sooner. I kept looking back at TinyGo for WASM tasks, because it looked like the right combo of size footprint and runtime capabilities, then ultimately thinking "hmm but the GC issue."
I'll probably take a look later today!
GC works even in WASM? That's great! What size wasm targets does TinyGo generate compared to the regular Go compiler?
Re:TinyGo: New Go Compiler Based on LLVM
by sendilkumarn on Friday July 19, 2019 @01:52PM
(#20480904)
It produces much smaller binaries
My blog post on it -> https://dev.to/sendilkumarn/tiny-go-to-webassembly-5168
Re:TinyGo: New Go Compiler Based on LLVM
by justinclift on Friday July 19, 2019 @03:08PM
(#20481572)
In the (reasonably simple) stuff we've been doing so far, TinyGo produced wasm files are 2-3% the size of mainline Go produced wasm files. eg:
https://justinclift.github.io/tinygo_canvas2/ (~19.5kB)
https://justinclift.github.io/tinygo-wasm-rotating-cube/ (WebGL, ~12kB)