• 0 Posts
  • 39 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle
  • I think it really strongly depends on what you’re programming - I know in some instances Julia’s performance can be nearly identical to languages like Rust. I suspect in my case it related to Julia being a garbage collected language, as my algorithm involved creating very large dynamic structures in memory before serializing them, clearing the memory, and building another one. Since Rust has no garbage collector it knew exactly when and what to drop from memory. In my case I had roughly a 10x(!!) speed-up. Funny enough an even earlier version of that algorithm was programmed in Java, and Julia was roughly 10x faster that it, so Julia isn’t the worst of the pack.


  • So at my previous employer I developed using Julia a custom ML model which ran, but the performance just wasn’t good enough for what I needed despite trying to aggressively optimize. I ended up rewriting in Rust (and calling through R) which ended up being like 10x faster. At my current job I program a mixture of Rust and Python.

    If Julia were more peformant then it could potentially be an alternative to Python/R users having to learn Rust - but if you’re looking for top performance, some of your codebase is already written in R/Python, and you’re already willing to learn another language, then learning something like Rust naturally seems the better choice over Julia.

    The one thing I did like about Julia - it took barely anytime at all to build a working prototype.



  • I started self-hosting a bit prior to when Docker took off, and getting multiple services running was much harder. Service A wants a certain version of PHP installed with certain plugins while Service B wants a different version. You’d follow a tutorial for installing Service C and desperately hope that it wouldn’t somehow break Service A or B. You installed Service D for a bit despite all the installation pain and now want to uninstall it - I hope you tracked exactly what config changes you made throughout the system so you can undo it.

    Docker fixed all of this by making each service independent through containers which made self-hosting 10x easier. I’d also add that I love how easy it is to transfer my setup to a new server - I keep all of my container volumes in a specific directory and my docker-compose files in another and that’s all I need to backup / transfer. Without Docker you’d have to specifically handle each & every configuration file and database location, and if you later upgrade to a newer version of the OS or a different distro you’d have to handle possible conflicts between your versions and what the distro expects.