Ask HN: What languages/ecosystems offer the smallest container sizes?
What languages can fit in the smallest container with a functioning e.g. echo server?
More interestingly: What's the smallest production container you've seen and how was it accomolished?
You can build scratch containers with just a Go binary, which packages the runtime in about 1.5MB, not much more for an echo server.
With Racket (a Lisp/Scheme) you'd need to package a minimal OS like Alpine Linux and then minimal Racket (without the IDE etc.), giving you about 80MB.
I don't know Rust, but I've seen some containers around 10MB in it. I expect they can get much smaller when not packing so much functionality.
A quick Google shows a toy C container under 1KB! [1]
What's rhe smallest you can do with the JVM? Or Nim, Zig etc.? Perhaps a Fortran or Ada container? [1] https://blog.hypriot.com/post/build-smallest-possible-docker-image/
5 comments
[ 3.1 ms ] story [ 17.0 ms ] thread8 bit iot application : https://en.wikipedia.org/wiki/Contiki
No container at all will give the smallest production container, so a compiled language with no runtime (C) or one with a small runtime (Go) answers your question.
If you must use containers for some reason, the container stuff (e.g. Docker) imposes a constant overhead regardless of the contents, so you can set that aside and just add up the size of the application binary plus runtime plus dependencies. C will likely come out at the top of the list, .NET and Java at the bottom.
Techniques described would apply to any application language.