We have a program written in Rust, consisting of a genetic algorithm - which works very well and utilizing all available cpu cores. It has been in production for a few years, and in general works great - and we really like it’s stability.<p>However, writing stuff in Rust still takes us time. We have lately been discussing if we should rewrite it in Julia which is a language that feels like it is more aimed to what we are doing. However, we don’t want to sacrifice any performance.<p>Just wanted to check if you have any input regarding our dilemma?
Generally I suggest avoiding rewrites; Usually the ROI is not there (see the strangler pattern for an alternative). It might make sense to look at Julia for future development. You could write something new in Julia to see if the benefits are there for your team.
Also, from my understanding you can call Rust from Julia using extern in Rust to pretend to be C. It could act as an escape hatch for performance issues if there are encountered, though I have never tried it.
Unlike some other commenters, I think that from-scratch rewrites can be valuable. But seriously consider other potential benefits. "Julia might be nicer than Rust" is not good enough if sole justification.
Yeah you can call Rust from Julia.<p>Rewriting seems like a pain in the ass, especially because Rust isn't causing your current implementation problems.