Julia vs. NumPy performance: Strategy for For-loop?
Lately, read about Julia Langs' preference in some quantum research. In general, for single shot computations like matrix and vector operations including linear algebra, the performance between Julia and NumPy is comparable due to NumPy's underlying C/Fortran code base. But for Monte Carlo methods for-loops are hard to avoid. Is there any strategy for For-loops in NumPy avoiding python overhead? Or migrating to Julia is a better choice? I am trying to avoid Rust as I see it as more system level language.
7 comments
[ 2.4 ms ] story [ 21.9 ms ] threadBoth don’t just work out of the box like Julia or MATLAB’s “parfor” loop, but seem to work well enough for non trivial for loop cases.
For Monte Carlo simulations, Pyro and tensorflow_probability have also nice abstractions.
Yes, tested and used Jax for some prototyping but it felt like still has "two language problem". But Taichi looks quite interesting, will check out.
Of course, forgot to mention, it has to be lightweight, torch and tf are now huge platforms. Not sure, probably Julia-lang is much small.
If you are just programming using pre-existing libraries, and using those libraries the way the author intended them to be used, then for most cases Python is probably fine, but if you are doing something relatively novel that some big framework doesn't cover for you, that's where I think Julia really stands out and makes a big difference relative to Python.
I really recommend giving it a try.