I have a small homelab running a few services, some written by myself for small tasks - so the load is basically just me a few times a day.
Now, I’m a Java developer during the day, so I’m relatively productive with it and used some of these apps as learning opportunities (balls to my own wall overengineering to try out a new framework or something).
Problem is, each app uses something like 200mb of memory while doing next to nothing. That seems excessive. Native images dropped that to ~70mb, but that needs a bunch of resources to build.
So my question is, what is you go-to for such cases?
My current candidates are Python/FastAPI, Rust and Elixir, but I’m open for anything at this point - even if it’s just for learning new languages.
Have you tried tuning your jvm settings? 200mb is a lot for a simple app. You can get that pretty dang low just by proper tuning of jvm settings.
If you want something with a small footprint I would personally go for Rust, but anything that compiles to a static binary is going to be better than something that needs a dedicated runtime.
Python is what I use for small one-time scripts and utility stuff that doesn’t need to run long, but it may be worse than Java…
Languages
C.
Frameworks
C.
That said, Python and Rust are great for setting up “starting up” / “small task” apps and growing up from there.