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.

  • tyler@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    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.

  • lilja@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    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…

  • lambalicious@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    Languages

    C.

    Frameworks

    C.

    That said, Python and Rust are great for setting up “starting up” / “small task” apps and growing up from there.