I implemented a simple JSON API in multiple programming languages. It is interesting to compare the sizes of the resulting Docker images.
Optimizing the images can really reduce the sizes, especially for interpreted languages: while you would expect Go and Rust to be small (and they are: 9 MB & 5 MB respectively), Python and PHP are also surprisingly good: 60 MB and 51 MB.
Deno, Bun, NodeJS, .Net and Ruby are between 100 and 200 MB.
Ruby using bitami:ruby was over 500 MB. Switching to chainguard:ruby brought it down to 124 MB.
I haven't optimized the Swift, Perl, Java & Tcl images which are between 200 and 300 MB.
Proof that they actually run and work: https://www.regexplanet.com/status.html
Description of the API that they implement: https://github.com/regexplanet/regexplanet-next/blob/main/CO...