Go on Embedded Systems and WebAssembly

https://tinygo.org/

TinyGo Home

TinyGo - A Go Compiler For Small Places Get Started See the code Go on embedded systems and WebAssembly TinyGo brings the Go programming language to embedded systems and to the modern web by creating a new compiler based on LLVM. You can compile and run TinyGo programs on over 100 different microcontroller boards from maker boards such as the BBC micro:bit and the Arduino Uno, to industrial processors from Nordic Semiconductor and ST Microelectronics.

TinyGo
Writing embedded code with an async-aware programming language is wonderful (see Rust's embassy), but wonder how competitive this is when you need to push large quantities of data through a micro controller, I presume this is not suitable for real-time stuff?
You can disable GC in tinygo, so if you allocate all the necessary buffers beforehand it can have good performance with real-time characteristics. If you _need_ dynamic memory allocation then no, because you need GC it can't provide realtime guarantees.

Doesn't seem like those should be mutually exclusive, though the habits involved are quite opposing and I can definitely believe they're uncommon.

E.g. GC doesn't need to be precise. You could reserve CPU budget for GC, and only use that much at a time before yielding control. As long as you still free enough to not OOM, you're fine.