A standard Docker container with a NodeJS/PHP/Python app is usually around 200-300 MB (yes really), the OpenJDK JVM is around a hundred MB, but a fully statically compiled rust binary that doesn’t even depend on libc is just a couple MB and can be deployed as a tiny distroless Docker container.
It’s a lot heavier than your 8kb C++ executable but it’s nothing compared to what is required to deploy anything else.
To me, it is mostly a real blocker for using it in some embedded Linux devices due to size constraints, otherwise I personally would be using it extensively.
I’m having a hard time imagining this Goldilocks embedded device that is simultaneously big enough to run Linux (so not an actual microcontroller), yet too small for a few megabytes worth of statically-linked libraries. Got an example?
Rust does not have an ABI. Everything is linked into the executables. I would not call them lightweight.
A standard Docker container with a NodeJS/PHP/Python app is usually around 200-300 MB (yes really), the OpenJDK JVM is around a hundred MB, but a fully statically compiled rust binary that doesn’t even depend on libc is just a couple MB and can be deployed as a tiny distroless Docker container.
It’s a lot heavier than your 8kb C++ executable but it’s nothing compared to what is required to deploy anything else.
Oh, so it’s inconvenient for GPL-circumventers, too? That just sounds better and better.
To me, it is mostly a real blocker for using it in some embedded Linux devices due to size constraints, otherwise I personally would be using it extensively.
I’m having a hard time imagining this Goldilocks embedded device that is simultaneously big enough to run Linux (so not an actual microcontroller), yet too small for a few megabytes worth of statically-linked libraries. Got an example?